WordPress

WordPress开发人员和管理员的问答

4
wp_nav_menu(),如何更改<li>类?
我正在为我的网站构建菜单。静态看起来像这样: &lt;nav&gt; &lt;ul id="menu"&gt; &lt;li class="item_1"&gt;&lt;a href="#"&gt;Item 1&lt;/a&gt;&lt;/li&gt; &lt;li class="item_2"&gt;&lt;a href="#"&gt;Item 2&lt;/a&gt;&lt;/li&gt; &lt;li class="item_3"&gt;&lt;a href="#"&gt;Item 3&lt;/a&gt;&lt;/li&gt; &lt;li class="item_4"&gt;&lt;a href="#"&gt;Item 4&lt;/a&gt;&lt;/li&gt; &lt;li class="item_5"&gt;&lt;a href="#"&gt;Item 5&lt;/a&gt;&lt;/li&gt; &lt;li class="item_6"&gt;&lt;a href="#"&gt;Item 6&lt;/a&gt;&lt;/li&gt; &lt;li class="item_7"&gt;&lt;a href="#"&gt;Item 7&lt;/a&gt;&lt;/li&gt; &lt;li class="item_8"&gt;&lt;a href="#"&gt;Item 8&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; 我已经了解了如何自定义&lt;ul&gt;标签,摆脱自动&lt;div&gt;标签。但是现在,我想自定义&lt;li&gt;标签,以便能够分配不同的class名称,以通过CSS控制特定行为。当我使用wp_nav_menu()输出如下: &lt;ul id="menu"&gt; &lt;li id="menu-item-111" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-111"&gt;&lt;a href="http://mydomain.com/dummy/fashion/"&gt;Fashion&lt;/a&gt;&lt;/li&gt; &lt;li id="menu-item-112" class="menu-item …

2
有没有一种方法可以在pre_get_posts过滤器中使用$ query-> set('tax_query'?
有没有办法$query-&gt;set('tax_query', ...)在pre_get_posts过滤器中使用?例如,下一个代码不会更改查询。请注意,我正在通过和自定义搜索构建$分类法。 function custom_search_filter($query) { ... // array('taxonomy' =&gt; 'category', 'field' =&gt; 'id', 'terms' =&gt; array( 41,42 ), 'operator' =&gt; 'IN') $taxonomies = implode(',', $taxonomy_arr); // /wordpress/25076/how-to-filter-wordpress-search-excluding-post-in-some-custom-taxonomies $taxonomy_query = array('relation' =&gt; 'AND', $taxonomies); $query-&gt;set('tax_query', $taxonomy_query); } return $query; } add_filter( 'pre_get_posts', 'custom_search_filter', 999 ); 提前致谢。

1
如何重写自定义帖子类型的URI?
我正在工作的网站使用以下“漂亮的”永久链接结构: http://example.com/blog/my-special-post 但是对于自定义帖子类型,我的客户希望避免出现“漂亮”的提示: http://example.com/product/142 如何使用帖子ID代替自定义帖子类型的标签? 我相信使用WP_Rewrite可能会实现,但是我不知道从哪里开始。

7
如何从“个人资料”部分删除这些字段?
我必须根据用户角色从“配置文件”页面中删除一些配置文件字段。为了删除我使用的颜色选择器remove_action("admin_color_scheme_picker", "admin_color_scheme_picker")。我要删除这些字段: 昵称 将名称公开显示为 AIM,Yahoo,Google Talk和“关于您自己”字段 “显示管理栏”部分以及2个复选框 我浏览了文件“ user-edit.php”,以查看是否有任何操作/过滤器允许我执行此操作,但似乎没有。谁能告诉我该怎么做?任何帮助,将不胜感激。谢谢 编辑: 感谢@helenhousandi的答案。我已经这样做了。 &lt;?php add_action('admin_footer-profile.php', 'remove_profile_fields'); function remove_profile_fields() { if(current_user_can('custom_role')) { ?&gt; &lt;script type="text/javascript"&gt; jQuery("h3:contains('Personal Options')").next('.form-table').remove(); jQuery("h3:contains('Personal Options')").remove(); jQuery("h3:contains('About Yourself')").next('.form-table').remove(); jQuery("h3:contains('About Yourself')").remove(); &lt;/script&gt; &lt;?php } } ?&gt; 我知道这需要更长的时间,但是确实有效!我想我会接受@helenhousandi的回答。

8
空搜索返回首页,如何返回未找到的搜索页面?
默认搜索功能如果搜索表单为空,则返回主页,我希望它返回“对不起,您的搜索未返回结果”页面。 这篇文章没有回答 而这张票告诉我,这应该是函数的方式!除了使用.htaccess重定向以外,有人知道如何更改它吗? 我正在使用以下search.php文件: &lt;div id="content" class="clearfix"&gt; &lt;div id="main" class="col700 left clearfix" role="main"&gt; &lt;h1 class="archive_title"&gt;&lt;span&gt;Search Results for:&lt;/span&gt; &lt;?php echo esc_attr(get_search_query()); ?&gt;&lt;/h1&gt; &lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt; &lt;article id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class('clearfix'); ?&gt;&gt; &lt;header&gt; &lt;h3&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" title="&lt;?php the_title_attribute(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt; &lt;p class="meta"&gt;&lt;?php …
16 search 

1
如何将参数从add_settings_field()传递给回调函数?
我有这样的功能: add_settings_field( 'contact_phone', 'Contact Phone', 'settings_callback', 'general'); 这样可行。它调用settings_callback。凉。我遇到的问题是:如果我正在做的事情只是回声一点,我不想为每个添加的设置都定义一个回调函数。 function settings_callback() { echo '&lt;input id="contact_phone" type="text" class="regular-text" name="contact_phone" /&gt;'; } 我到底为什么要这样做?id,class和name都应该是params。 没有办法将参数传递给settings_callback函数吗?我开始研究核心,到达这里:http : //core.trac.wordpress.org/browser/tags/3.1.3/wp-admin/includes/template.php ..并进入此$ wp_settings_fields全局字段。在哪里定义?

1
插件表格提交最佳实践
我已经做了很多研究,但是没有找到我想要的东西,因此我希望可以指出正确的方向。 我正在开发一个Events插件,它将从前端预订票证。这与其他任何Form提交都没有什么不同,但是让我感到困惑的是如何处理通过OOP用类编写的插件的处理方式。 我发现的大多数文章都说要在模板页面中进行$ _POST处理。理想情况下,我希望通过插件中的函数来处理此问题。 我不确定的另一件事是,当您在前端提交表单时,该表单实际上是如何传递到后端的函数的。我希望从任何模板详细信息中完全抽象出表单处理。 // events.php if ( ! class_exists( 'Events' ) ) { Class Events { function __construct() { add_action( 'plugins_loaded', array( &amp;$this, 'includes' ), 1 ); } function includes() { require_once( EVENTS_INCLUDES . 'functions.php' ); } } } if ( class_exists( 'Events' ) ) { $events_load = …

1
联系人表单重定向到发送时找不到的页面
我以前在其他非WP网站上使用过很多次联系表格,但在我当前的WP网站上似乎不起作用,它只是将您重定向到未找到的页面。 我不想使用任何插件来创建它。 这是代码: &lt;form class="form" method="POST" action="&lt;?php the_permalink(); ?&gt;"&gt; &lt;table border="0" style="float:left;"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;Company Name:&lt;/p&gt; &lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="companyname" id="companyname" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;Your Name:&lt;/p&gt; &lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="name" id="name" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;E-mail:&lt;/p&gt; &lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&lt;input type="text" name="email" id="email" /&gt;&lt;/td&gt; &lt;td colspan="2"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; …
16 php  contact 

2
将Class方法注册为钩子回调
我不确定是否正确执行了此操作。 据我了解: 如果我有一个foo类和一个静态方法栏,则可以通过将数组array("foo","bar")作为函数名称传递来将其注册为回调。 如果我在$ foo中有一个类的实例,并且想调用方法栏,则可以传递array array($foo,'bar')。 如果我需要在类本身内部注册一个动作,它可以工作array($this,'bar')吗?
16 plugins  hooks  oop 

11
本地主机上的wordpress不允许我安装插件
我在ubunutu 11.04上安装了LAMP服务器。我已经安装了wordpress并将其与MySQL数据库挂钩。我已经更改了www-data组的权限以读取和写入文件。 似乎一切正常,我可以通过管理面板管理该站点,但是我无法安装插件,因为系统正在询问我FTP详细信息,而我似乎无法通过它。 有什么可以帮助的吗?请...

3
如何将变量传递给add_settings_section()回调?
我正在尝试尽可能自动地执行插件中每个设置的Settings API函数调用。循环遍历options数组,然后输出add_settings_section()和add_settings_field()很简单: add_settings_section(): $oenology_hooks_tabs = oenology_hooks_get_settings_page_tabs(); foreach ( $oenology_hooks_tabs as $tab ) { $tabname = $tab['name']; $tabtitle = $tab['title']; $tabsections = $tab['sections']; foreach ( $tabsections as $section ) { $sectionname = $section['name']; $sectiontitle = $section['title']; $sectiondescription = $section['description']; // Add settings section add_settings_section( 'oenology_hooks_' . $sectionname . '_section', $sectiontitle, 'oenology_hooks_' …

2
apply_filters函数及其变量的说明
我正在通过“简化表单注册”插件中的示例来学习如何使用PHP构建html表单。 我在看这段代码: $form .= apply_filters('simplr-reg-instructions', __('Please fill out this form to sign up for this site', 'simplr-reg')); 您能否解释一下发生了什么-函数的作用,为什么需要'simplr-reg-instructions'和'simplr-reg'? 为什么这行不能简单地是: $form .= 'Please fill out this form to sign up for this site' ; 我已经阅读了函数参考,但仍然无法弄清楚。
16 filters 

1
自定义帖子类型的行操作?
我正在开发一个插件,该插件可以将网站转换为反馈门户。我创建了一个新的对象页面“ Feedbacks”,该页面以表格形式显示所有反馈,并且我正在使用它register_column_headers($array_of_column_headers)来制作表格。我想知道是否可以在此表中添加我自己的页面行操作,我的意思是在列表中的每个反馈下都包含“批准”,“删除”,“黑名单”等操作。 我阅读了代码和几张票,然后发现这样做是这样的:帖子,post_row_actions注释comment_row_actions,评论,媒体media_row_actions。是否可以使用过滤器my-page-slug_row_actions?

3
我需要寻找哪些常见的安全缺陷?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 作为想成为WP插件的开发人员,我应该寻找哪些主要的安全漏洞/漏洞? 我将使用配置面板(即输入字段和内容)创建一个新插件。我应该担心什么? 例如,由于数据清理在/ wp-admin /区域中是否重要?恶意者可以直接点击我的插件页面并发送POST请求或类似的内容吗? 谢谢!

6
输入错误密码后如何重定向用户?
我wp_login_form()用来在jQuery对话框窗口中显示登录表单。 如果用户输入了错误的密码,则该用户将被带到后端。我不要 有没有一种方法可以通知用户他输入了错误的密码并且仍然保留在同一页面上? 在wp_login_form()我来之前,我正在使用一个插件。我希望我可以避免为此使用插件。 我的代码: wp_login_form( array( 'label_remember' =&gt; __( 'Remember me' ), 'label_log_in' =&gt; __( 'Login' ) ) );

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.