WordPress

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


3
我如何从查询帖子中获取计数
我如何获得查询帖子中的行计数,例如mysql count(*)。 $obj_name = new WP_Query($args); while ($obj_name->have_posts()) : $obj_name->the_post(); // here i want to predict looping counts endwhile; 我怎样才能做到这一点。

5
修改插件的正确方法
修改插件的最佳方法是什么?我经常想对大型插件中的一两个功能进行小的更改。这很容易做到,但是我必须使用注释来标记我的更改,并在更新后再次修改插件。理想情况下,我想不理会插件,而在其他地方进行更改,就像我们处理主题和子主题一样。我可以制作一个需要父插件并将其覆盖的插件吗?


3
如何在“网络设置”屏幕上为新的站点范围选项添加字段?
我正在开发一个插件,其中的一部分涉及设置适用于WordPress网络中所有网站的选项值。我知道有关add_site_option和get_site_option函数的信息,这些函数使您可以将值保存到wp_sitemeta表中,但是我不知道如何将字段放置在WordPress后端的适当位置,以及如何拦截站点范围的保存值,以便在发生这种情况时插入add_site_option调用。 对于第一个问题(添加字段),通常使用设置API,特别是register_setting和add_settings_field,将新选项列入白名单,然后将其字段插入相应的选项页面。但是我无法在任何地方找到有关是否可以使用add_settings_field将字​​段添加到后端的新“网络管理”部分中的“设置”页面的信息,如果有替代功能可以对网络管理页面执行的操作,或者只需手动注入HTML。(您可以通过编写回显该字段的函数然后将该函数连接到“ wpmu_options”操作手动进行操作,该操作在Network Admin的“设置”页面的末尾运行。但是然后,您还必须处理随机数以及其他所有手动操作。) 第二个问题可能涉及找到一个操作,该操作在用户在“网络管理员设置”页面上单击“保存”时运行,但我还找不到。任何线索将不胜感激。 那么-有想法吗?是否有一种优雅的方法可以通过新的Network Admin区域管理插件的站点范围选项?如果是这样,怎么做?

3
如何捕获/处理WP错误对象
我正在插件内部直接运行一些WP函数,包括wp_insert_post(),如果出现问题,这将返回WP Error对象,捕获此错误的正确方法是什么?使用内置的WP函数或PHP异常等等。
15 plugins  errors 


4
删除其他用户查看用户列表中管理员的能力?
(主持人注意:原始标题为“从用户菜单中删除管理员”) 我创建了一个客户端管理员角色,该角色实质上是一个具有添加/删除用户功能的编辑器。文章“ 编辑者可以创建除管理员以外的任何新用户 ”在帮助防止我的新客户端管理员角色编辑或创建True管理员用户方面表现出色。 但是,理想的做法是在查看用户时将管理员与客户端管理员隔离。我希望他们“相信”他们是其网站的管理员,但我不希望他们甚至能够查看我的角色/用户- 当他们位于“用户”中时,实际上向他们隐藏了“管理员”角色面板。

2
插件中的自定义小部件功能不起作用?
我直接从我创建的主题之一中提取了一个代码,它是无序列表中所有50个状态的列表,这些列表打包到一个小部件中,您可以将其拖放到侧边栏上。 问题是,当我尝试在PLUGIN文件中使用此代码时,出现以下错误: Fatal error: Call to a member function register() on a non-object in C:\xampp\htdocs\wordpress\wp-includes\widgets.php on line 431 为什么它在主题中有效,但在插件中无效?顺便说一句,活动主题不是我从中删除代码的主题。 这是我的代码:http : //pastebin.com/ZeRWW3yb 谢谢。

4
用户注册后自动登录
我正在使用为我的目的而修改的插件。 我要的是用户注册后自动登录并返回到当前页面。目前,它会向他们发送一封包含用户名和密码的电子邮件。然后,他们必须使用这些详细信息登录。
15 php  login  registered 

2
将对象/ JSON传递给wp_localize_script
我有一个包含对象文字的javascript工作片段。但是我需要对其进行本地化,并且我正尝试找出如何重写它,以便可以获取wp_localize_script()以接受它,并输出正确的格式。 非本地化(非动态)版本如下所示: var layoyt_config = { 'header' : 1 , 'footer' : 1 , 'ls' : {'sb1':1} , 'rs' : {'sb1':1,'sb2':1} , 'align' : 'center' }; 现在,要让php生成这些值(基于某些wp_settings),我想使用wp_localize_script,因此可以从那里获取: var layoyt_config = my_localized_data.layoyt_config; 为了使数据进入该对象属性,我“想”可以做到这一点,但是显然不能: $data = array( 'layout_config' => { 'header' : 1 , 'footer' : 1 , 'ls' : {'sb1': 1} …

5
主题激活钩
我想编写一个函数,以在激活主题后通过电子邮件将网站的URL发送给我。 激活主题时启动的挂钩是什么?

4
拖放后更新窗口小部件表单(WP保存错误)
几个月前,我已经发布了有关此问题的错误报告(在WordPress trac(小部件实例表单更新错误)上),我想我也想在这里写一下。也许有人比我有更好的解决方案。 基本上,问题在于,如果您将小部件拖放到侧栏中,则在您手动按保存(或重新加载页面)之前,小部件表单不会得到更新。 这使得form()依赖于小部件实例ID 的功能中的所有代码都无法使用(直到您按下保存按钮)。诸如ajax请求之类的东西,诸如colorpickers之类的jQuery之类的东西都不会立即起作用,因为从该函数看来,小部件实例尚未初始化。 肮脏的解决方法是使用livequery之类的方法自动触发保存按钮: $("#widgets-right .needfix").livequery(function(){ var widget = $(this).closest('div.widget'); wpWidgets.save(widget, 0, 1, 0); return false; }); 如果未初始化小部件实例.needfix,form()则添加该类: <div <?php if(!is_numeric($this->number)): ?>class="needfix"<?php endif; ?> ... </div> 该解决方案的一个缺点是,如果您注册了许多小部件,浏览器将占用大量CPU,因为livequery每秒都会检查DOM的更改(因此,我没有专门测试过,这只是我的假设:) 有什么建议可以更好地修复该错误吗?

3
get_template_part与主题中的动作挂钩
在我看来,这两种方式都为最终用户提供了修改主题的机会,而无需实际编辑主题文件(通过子主题)。 我的问题是,一种方法优于另一种方法。 例如,以我现在正在研究的主题为例。我试图决定是否要使用钩子的模板部分。 <?php get_template_part('before_sitecontainer' ); ?> <div id="sitecontainer" class="sitecontainer" <?php //closed in footer ?>> <?php get_template_part( 'before_topcontainer' ); ?> <div id="topcontainer "> <?php get_template_part( 'before_topedge_navigation' ); ?> <?php get_template_part( 'topedge_navigation' ); ?> <?php get_template_part( 'before_site_header' ); ?> <?php get_template_part( 'site_header' ); ?> <?php get_template_part( 'before_second_navigation' ); ?> <?php get_template_part( …

7
备份WordPress数据库的最简单方法是什么?
我在我的博客服务器上安装了WordPress。我按计划备份了服务器上的所有文件。但这只是文件,而不是数据库。理想情况下,我想定期将数据库转储自动保存在服务器上,以便与所有文件一起备份。最简单的方法是什么?
15 database  backup 

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.