WordPress

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

1
我们是否应该信任全球岗位?
@toscho对这个答案发表了评论,这让我再次思考。我们应该在全球范围内获得多少信任,特别是对于像post globals这样的人$post? 所以呢?全局变量可以在检查运行之前被所有人覆盖。这就是全局变量的意义:全局访问。 $post例如,可以肯定是全局变量之一,该全局变量通常在主题本身内或通过插件进行了修改。但是,它还是给定模板内其他应用程序中最常用的全局设置,例如,用于设置相关帖子。 通过回答(和评论)由使用自定义查询引起的特定问题的多个帖子,实际上可以看出,大多数问题是由于未重置自定义查询引起的(自定义查询会更改主查询设置的全局变量)。 由此可见,这$post是不可靠的。使用自定义查询的任何编写不当的代码段都可以更改$post全局,这反过来会破坏某些内容(如相关文章)。 实际上,只有少数WordPress开发人员对核心的内部运作足够了解,并且知道应该避免什么,不应该避免什么。越来越多的用户不知道WordPress核心如何运行。 他们只是下载主题并安装插件即可完成所需的工作,甚至只是从教程中复制代码即可。假设他们安装了一个写得不好的插件,该插件会在单个帖子上打断相关帖子,那么他们怎么知道是什么原因造成的?他们将能够自己解决问题,还是他们是第一百个人就此问题写信给主题作者或在该网站上发布问题? 我的问题:当全局变量$post如此不可靠时,如何防止其他导入的代码引起的此类问题?我们是否应该使用全局性的$post?有哪些选择? 在总结之前,请在这里分享我的想法:我已经考虑过(或者在某些主题和插件中也看到过)使用wp_reset_postdata()或使用wp_reset_query()之前的情况$post,以确保将全局设置重置为主查询的$post。但是为什么我应该在主题中添加代码,因为其他人没有正确地为其插件编写代码?而且,如果有人确实重置了自定义查询,则该操作将不必要地第二次运行,这是不好的。 我想到的第二种方法是先使用,$wp_query然后再使用其方法,例如$wp_query->post。 任何对此的想法将不胜感激。

5
WordPress的Git
我问这个问题是因为我在互联网上搜索,但找不到正确的解决方案。实际上,我想要一个解决方案,其中多个开发人员可以在单个wordpress项目上工作,而不会互相干扰。但是,众所周知,在wordpress中,所有东西都保存在数据库中,例如哪个插件处于活动状态,哪个插件不处于活动状态。 如果开发人员将插件安装到其本地项目中,而不是他们如何彼此通信,则每个人都应安装该特定的一个或多个插件等,如果每个开发人员都推/拉代码,则某些沟通不畅会破坏其他站点。 我们是否也应该共享数据库,以共享插件/主题设置,这样开发人员之间就不会有冲突或几乎没有冲突。 谢谢
21 git 


1
如何在存档模板中为每个帖子而不是the_excerpt()显示Yoast SEO元描述?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 我读了这个问题,但这不是我要找的东西。我是Wordpress的新手,对功能和所有内容都有些困惑。 如何在每个帖子的循环中获得元描述? 谢谢 !

2
在插件中包含内联CSS可以吗?
通常在插件中,我会使用wp_enqueue_style添加样式。但是,我当前正在创建一个只需要几行CSS的插件,并且我想知道内联样式以保存请求是否更好。显然,使用wp_enqueue_style有很多优点,但是对于这样一小段CSS,是否值得额外要求?在这方面是否有公认的“最佳实践”?

3
即时贴超过每页限制
我正在pre_get_posts调整首页上显示的帖子数。 function lifelounge_query_adjust( $query ) { if ( is_home() ) { set_query_var( 'posts_per_page', 12 ); return; } } add_filter( 'pre_get_posts', 'lifelounge_query_adjust' ); 但是我遇到了粘性帖子的问题。基本上,如果我有任何置顶文章,查询会显示更多比我所指定的12个职位,因为它会显示12篇加任何置顶文章。我当然可以忽略粘性帖子: function lifelounge_query_adjust( $query ) { if ( is_home() ) { set_query_var( 'posts_per_page', 1 ); set_query_var( 'ignore_sticky_posts', 1 ); return; } } add_filter( 'pre_get_posts', 'lifelounge_query_adjust' ); 但是我不认为这是理想的。我认为粘性帖子应包含在12个帖子的限制中,而不应添加到该限制中。那对我来说最有意义。有办法实现吗?我是否犯了一个值得脸彩的错误? 几乎重复:粘性帖子和每页的帖子,但是由于本地化太过奇怪而被关闭。我不同意,显然是因为我在寻找答案,也因为这是一个问题,为什么如果您使用粘性帖子,WordPress似乎不尊重该posts_per_page …


3
在Visual和HTML选项卡之间自由切换
因此,以不同的旗号多次提出了这个问题,但是我想提出一个统一的思路,以最终解决该问题。 在WordPress中,默认情况下,当在TinyMCE中的HTML和Visual编辑器之间来回切换时,某些标签会从内容中剥离出来,并且会发生其他奇怪的功能。编写更有效的HTML代码的两种已知解决方法是使用使用过滤器删除wp_auto_p函数,以及安装TinyMCE Advanced并启用“停止删除p&br标签”选项。 不幸的是,这只做得很好。 以下面的示例为例: <h2>How does it work?</h2> <p>In order to use jQuery Easy Columns, you must install it as you would any other jQuery plugin. First, download the zip file using the button above. After downloading the file, extract it to a location of your choice, and move …

2
如何在样式表中使用WordPress函数?
我的style.php文件看起来像这样。 <?php header('Content-Type: text/css');?> #div{ background:<?php echo get_option('bgcolor');?>; } 这不起作用,但是当我这样做时它起作用。 <?php header('Content-Type: text/css');?> #div{ background: <?php echo 'blue';?>; } 有什么问题吗? 这是mainfile.php <?php function test(){ global get_option('bgcolor');?> <input type="text" id="bgcolor" name="post_popup_settings[bgcolor]" value="<?php echo get_option('bgcolor');?> " /> <?php } add_action('admin_head','test'); 这实际上是在管理员部分。
21 plugins  php  css  endpoints 

4
不推荐使用的功能在内核中保留多长时间?
我很好奇地发现了从核心中删除过时的函数的过程/理念。 食典说: 下面的这些功能已被弃用。这意味着它们已被新功能替换或不再受支持,并且可能会从将来的版本中删除。 由于“可以删除”有点不祥且有些不清楚,因此我有以下问题。 删除不推荐使用的功能的标准是什么?(即版本差距,时间范围,安全风险等) 删除功能是否已正式传达给公众? 例如:get_postdata()从1.5.1开始不推荐使用,并且没有正式的Codex页面。除了支持旧版本的WordPress之外,还有其他原因吗?

2
wp_verify_nonce与check_admin_referer
有什么区别,我应该使用哪一个? 我知道wp_verify_nonce会检查时间限制,而我认为check_admin_referer会调用wp_verify_nonce并检查管理url段,但是我对应该使用哪个以及何时使用感到有些困惑。 感谢您的澄清。
21 admin  security  nonce 

2
如何通过多个帖子ID获取帖子?
我有一个帖子ID为:的字符串43,23,65。 我希望可以使用get_posts()带有ID的字符串作为参数。 但是我找不到任何通过ID检索多个帖子的功能。 我真的必须做一个WP_query吗? 我也看到有人提到使用tag_in-但我找不到与此有关的任何文档。
21 get-posts 

4
对象缓存如何工作?
我在这里寻找一个明确的答案。启用对象缓存后,选项和瞬态在哪里结束? 默认情况下,两者都存储在数据库中。但是我听说一些参考资料称Memcache会将它们存储在其他位置,而APC将完全做其他事情。在这两种情况下,这些数据究竟将保留在哪里?

6
在不执行完整的HTTP GET的情况下检测WordPress URL?
我正在尝试编写一个单选框例程,该例程为WordPress博客条目提供特殊待遇。因此,给定一个简单的,未经修饰的URL,例如 http://blog.stackoverflow.com/2011/03/a-new-name-for-stack-overflow-with-surprise-ending/ 我如何才能检测到这是WordPress安装,理想情况下无需对看到的每个URL进行完整的HTTP GET? 当然,我们可以从WordPress URL的通用约定开始,这至少消除了某些URL的争用。在这种情况下是... http://example.com/year/month/slug-goes-here 但这也不是一个通用常数。 我尝试使用HTTP HEAD查看该URL的标题,然后看到: Connection:Keep-Alive Content-Encoding:gzip Content-Length:18340 Content-Type:text/html; charset=UTF-8 Date:Thu, 07 Jun 2012 07:07:38 GMT Keep-Alive:timeout=15, max=100 Server:Apache/2.2.9 (Ubuntu) DAV/2 PHP/5.2.6-2ubuntu4.2 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Vary:Cookie,Accept-Encoding WP-Super-Cache:Served legacy cache file X-Pingback:http://blog.stackoverflow.com/xmlrpc.php X-Powered-By:PHP/5.2.6-2ubuntu4.2 我认为依靠的存在并不是WP-Super-Cache特别可靠,这是我在标头中看到的唯一有用的东西,因此在WordPress安装中可能只有零个通用HTTP标头吗?
21 urls 

5
如何:将GitHub存储库推送到Wordpress插件服务器
我在github上开发了我的插件,但是在部署时,我必须以某种方式将所做的更改复制到Wordpress SVN中。目前,我手动执行此操作,并分别复制每个目录中的每个文件,但这既耗时又容易出错。 我已经看过并尝试了一些脚本,但是我认为我必须在错误的环境下运行它们,因为它们要么出错要么无法正确复制文件。 所以我的问题是,有人能自动实现吗?如果是,您是如何做到的? 谢谢!
21 svn  github 

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.