WordPress

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

9
您如何在WordPress中创建“虚拟”页面
我正在尝试在WordPress中创建自定义API端点,并且需要将请求重定向到WordPress根目录中的虚拟页面,并将其重定向到我的插件随附的实际页面。因此,基本上,对一个页面的所有请求实际上都会路由到另一页面。 示例: http://mysite.com/my-api.php=>http://mysite.com/wp-content/plugins/my-plugin/my-api.php 这样做的目的是使API端点的URL尽可能短(类似于http://mysite.com/xmlrpc.php但将实际的API端点文件随插件一起提供,而不是要求用户在其安装和/或hack核心中四处移动文件) 。 我的第一个选项是添加一个自定义重写规则。但是,这有两个问题。 端点总是有一个斜杠。它变成了http://mysite.com/my-api.php/ 我的重写规则仅部分适用。它不会重定向到wp-content/plugins...,而是会重定向到index.php&wp-content/plugins...。这导致WordPress显示页面未找到错误或仅默认为主页。 有想法吗?有什么建议吗?

9
将参数传递给过滤器和动作功能
是一种将我自己的参数传递给add_filteror中的函数的方法add_action。例如看下面的代码: function my_content($content, $my_param) { do something... using $my_param here ... return $content; } add_filter('the_content', 'my_content', 10, 1); 我可以传递自己的参数吗?就像是: add_filter('the_content', 'my_content($my_param)', 10, 1) 要么 add_filter('the_content', 'my_content', 10, 1, $my_param)

5
MySQL数据库用户:需要哪些特权?
WordPress的简短安装说明(“ 5分钟”)指出: 在您的Web服务器上为WordPress创建一个数据库,并为拥有访问和修改它的所有特权的MySQL用户创建数据库。 在专业设置新博客的同时,我想知道它如何映射到MySQL数据库用户特权/权限配置所提供的功能: 数据: SELECT,INSERT,UPDATE,DELETE 定义: CREATE,ALTER,DROP 额外: INDEX 更多: LOCK TABLES REFERENCES CREATE TEMPORARY TABLES CREATE VIEW SHOW VIEW CREATE ROUTINE EXECUTE ALTER ROUTINE 我很确定前三个组的名称是Data,Definition和Extra。但是“ 更多”条目下面的其他内容呢?通常,我会说这些不是必需的,但是我想得到第二个意见。

6
高端WordPress网络主机的最佳功能?[关闭]
我将此发布为社区Wiki,因为我想获得高端WordPress虚拟主机的协作编辑功能列表。 例如,如果您正在运行一个基于WordPress的高流量站点和/或需要真正加强安全性的WordPress站点,那么您希望看到哪些功能,以便您不必实施超出最基本安装要求的所有功能WordPress核心?我们中的许多人都知道WP Engine刚刚启动,并且它是我所知道的最接近专门针对WordPress的高端虚拟主机的产品。但是,如果有很多提供更高级别的Web主机,那就不是只有一个,那将是很棒的。 诚然,我在这方面很虚弱,这是我发布帖子的原因之一,但我将从需要的功能列表中入手。让我们忽略与WordPress不相关的事情,例如24小时电话支持等,并要求我们也要具体一点,即不要像您在本网站上看到的那样仅仅说“ 性能优化 ”或“ 高度安全 ” ,而是实际表明具体实现: 预装的Memcached支持 支持GZIP的标准.htaccess调整 与Amazon Cloud Front的可选集成以上传文件 使用高级管理控制台(如Mac上的“ Time Machine”,但适用于浏览器中的WordPress)自动进行文件和数据库备份。 通过FTP上传到SVN或GIT时自动版本化的文件 自动将数据库版本控制为SVN或GIT 预选的已验证和受支持的插件列表 还有什么?我敢肯定清单比我想的要长得多。 另一个特殊功能还可以是带有白标签的交钥匙WordPress多站点托管。我的意思是,这项服务可以使在垂直市场上具有营销和销售经验的人(例如“ 干洗店 ”)为他们的市场提供网站托管,而无需进行任何技术工作,包括托管主机所有支持以及注册和计费,但将其标记为白色。我认为这是一个巨大的市场。 注意,我并不是问,因为我不想创建这样的服务,但是我想为那些考虑提供这样的服务的Web主机提供明确的参考。 更新#1: 另一个很好的功能是拥有可以跨多个服务器同步WordPress核心,主题和插件的服务,以便托管公司可以更轻松地管理需要扩展的站点的多个服务器实例。(参考:票证#13067-插件和主题存储库的配置) 更新#2: 然而,另一个功能是提供使用的选项狮身人面像搜索服务器,并使用WordPress这些插件的一个接口它: WP Sphinx搜索 WordPress Sphinx搜索插件 WordPress Sphinx插件 搜索API(另请参阅) 更新#3: 通过坚固和可靠的Linux的cron的Cron调度作为替代WordPress的伪的cron(也见和这个)。可能合并管理功能,即使用以下插件之一: Crony CronJob经理 Cron View插件 克伦特罗 更新#4: 在LinkedIn WordPress小组上,有人提供了免费托管,我问他会为他的服务提供什么,他回答了以下内容(需要成为会员才能看到此链接,会员是免费的,但我认为您必须首先由小组主持人批准): suPHP PHP缩小 音频MPEG PHP …

3
过滤钩和动作钩之间的区别?
最近,我一直在更深入地研究插件API,我想知道action和filter挂钩之间的真正区别是什么。它们都是接收数据作为参数的事件,它们似乎都可以做相同的事情。 显然,我看到在操作发生时会调用操作,在处理数据时会调用过滤器,但这似乎只是语义上的区别。 除了语义及其用途之外,它们之间还有什么真正的区别?

2
只要/应该,Ajax就会花费10倍的时间
我刚刚遇到了WordPress的第一个严重问题,对于喜欢Ajax的人来说,这是一个大问题。 我有一个Ajax请求,在使用Ajax API时需要1.5秒才能完成。 如果我使用完全相同的代码并使用自定义脚本(没有WordPress)运行它,则Ajax请求仅需150毫秒。这并不夸张 如果您看一下http://wp.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/的第一条评论,随后的对话中您会发现,这种缓慢是由根据您的要求,所有WP都已加载... 我希望有一个解决方案,可以在不加载所有WordPress的情况下发出Ajax请求。 您通过WordPress加快Ajax请求的经验是什么?
50 ajax  performance 

2
如何创建自定义URL路由?
我有一个非常特殊的要求,希望我能在不引起混淆的情况下解释它。我创建了一个页面模板,其中列出了从外部XML文件中获得的一些属性,到目前为止,没有问题,可以说URL如下所示: http://www.example.com/properties/ 每个属性都有一个链接,该链接应将用户重定向到“单个属性”页面,该页面显示有关该属性的更多信息。我想知道是否有一种方法可以使链接如下所示: http://www.example.com/properties/123 123该属性的ID 在哪里。因此,如果我有这样的URL,则properties/some_id希望能够加载视图文件(例如single.php或page.php文件),但特定于此URL条件。 这可能吗?

7
如何获取WordPress时区设置?
有人可以告诉我如何获取WordPress Admin中设置的时区吗? 例如,如果博客设置为东部时间,则需要此确切的字符串才能打印出来: 美国/东部 这是针对生活在我主题中的functions.php中的函数。

6
通过locate_template传递变量
虽然我通常使用include或单独使用require它们来节省长期代码维护,但我已经开始使用get_template_part,locate_template因为使用内置WordPress始终是最好的方法。 我的问题是您应该能够将变量传递给get_template_partor 的结果locate_template吗? <?php $var = get_option( 'my-custom-option' ); get_template_part( 'custom-template-part' ); ?> 在上面的代码中,$var将在自定义模板中打印,但该变量似乎无效。我是否缺少某些东西,或者这是预期的行为? 我发现它们没有通过上面的实例或使用locate_template时通过 <?php locate_template( 'custom-template-part.php', true ); ?>

2
查询不存在元键的所有帖子
我试图获取一个查询以检索所有meta_key不存在特定位置的帖子,然后创建它。 我在查找这些帖子时遇到问题,因为我正在测试的查询似乎不起作用。 这是我用来获取这些帖子的代码: $args = array( 'posts_per_page' => 18, 'cat'=>1955, 'post_status'=>'publish', 'meta_query' => array( array( 'key' => 'colors', 'compare' => 'NOT EXISTS' ), )); query_posts($args); 如果没有带该键的帖子,则不返回任何内容colors,但是只要该键存在(与我需要的相反),就返回ids带有该键的帖子colors。我尝试了EXIST但没有运气。 如果有人可以向我提示创建查询的正确方式(如我需要的那样),我将不胜感激。 谢谢!


3
禁用单个插件的更新通知
有没有办法禁用特定插件的更新通知? 作为一个插件开发人员,我在个人站点上使用svn干线版本安装了一些插件进行测试,但是可以从该插件站点上使用相同的插件。在这些情况下,WP会将最新版本视为最新发布的版本,并不断尝试警告我有可用的更新。 我仍然希望看到其他插件的更新通知,但是不断忽略Updates (2)标题中的通知真是令人讨厌!

1
WP_Query-按元值排序结果
我检查了一下,还没有找到一个可行的答案。我有以下论点的WP_Query: $args = array( 'post_status' => 'publish', 'post_type' => 'listing', 'meta_key' => 'client_feedback_score', 'orderby' => 'client_feedback_score', 'order' => 'DESC' ); $query = new WP_Query($args); 我想按自定义帖子字段“ client_feedback_score”(从最低到最高)对结果进行排序。但这似乎不起作用……有人能指出我正确的方向吗? 编辑(已解决): 感谢Milo的回应,以下是通过数字元值进行排序的工作代码: $args = array( 'post_status' => 'publish', 'post_type' => 'listing', 'meta_key' => 'client_feedback_score', 'orderby' => 'meta_value_num', 'order' => 'DESC' );


16
您如何调试插件?
我是插件创作的新手,调试时很费力。 我使用了很多回声,而且草率而丑陋。 我确定有更好的方法可以执行此操作,也许是带有调试器的IDE,我可以在其中运行整个站点(包括插件)吗?

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.