WordPress

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

4
我为什么要放if(have_posts()),而while(have_posts())还不够?
我对“循环”有疑问。 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> 代码取自The Loop WordPress Codex页面。 我为什么要if参加?好像有while循环,工作正常。 如果没有if声明,在什么情况下会出现问题? 编辑 我接受@Chip的回答。但老实说我只需要最后一部分。 我现在知道我想从我的问题中学到什么。 if仅当需要放置仅应写入一次的页眉或页脚时,才需要使用该语句。如果您不使用“包装器”,则if无需声明。
22 loop 


1
什么时候应该使用add_rewrite_tag()?
我花了几天时间尝试学习如何最好地添加重写规则。到目前为止,我的理解是可以使用一种添加简单规则的合适方法add_rewrite_rules(),这在很大程度上要感谢Jan Fabry在这次交流中的作用。 尽管他提到add_rewrite_tags()我还没有看到指南来解释何时使用它是有益的,而不是添加重写规则的其他方法或用法的任何很好的例子。它似乎是一个更强大的工具,但这就是我能理解的全部。我发现Codex中的示例过于神秘或不完整。有人可以详细说明还是指向一些资源?我发现Google上没有任何有用的东西。 编辑: 其 Codex页面讨论了“通常”与结合使用的情况add_rewrite_rules(),但不再赘述。同样,食品页的add_rewrite_rules()指add_rewrite_tags(),但它也是非常稀疏的信息。何时以及如何使用这种组合?我发现的唯一示例是 Rob Vermeer的答案,我不明白。


5
如何重新排列comment_form()中的字段
我正在使用自定义过滤器来更改字段,但是无法弄清楚如何更改注释表单中字段的顺序。 所需订单: 评论栏(第一/顶部) 名称 电子邮件 网站 这是我当前正在使用的代码: function alter_comment_form_fields($fields){ $fields['comments'] = 'Test'; $fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . __( 'Your name, please' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) . '<input id="author" name="author" type="text" placeholder="John Smith" value="' . esc_attr( $commenter['comment_author'] ) . …


3
如何确定我是否在分页的首页上?
如何确定我是否在分页的第一页上?我正在使用WP_Pagenavi。我只想在分页的第一页上运行一个函数。我检查了query_var'paged',在此页面上将其设置为0,然后在随后的页面中将其设置为2,3,以此类推(缺少1!)...有人知道一个干净的解决方案吗? 谢谢。

3
如何:检查WordPress中的全局变量
人们通常对如何从全局对象/变量获取数据感到困惑 问题:您可以通过哪些方式检查全局变量? 编写此Q的原因是,WA在这里经常需要它。我只是想将其作为收藏夹链接到这里(人们通常不看github gist链接)。 如果出现错误或您认为解释中缺少内容,请随时修改示例。如果您想添加其他有用的内容,请将每个内容添加为一个答案。谢谢。
22 globals 

8
在类别模板中获取类别ID
如何在模板中获取猫的ID。非常重要:我不能用这个名字来做,因为我们有多个同名的多毛猫。只有the不同。如果我得到了子弹,那也可以。但是就像我说的那样:我不能使用Cat标题.....
22 categories 

13
WordPress插件和主题的最佳安全性最佳做法是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 正如该问题中所建议的那样,我将该主题添加为一个新问题,以供社区讨论/投票有关插件/主题安全的最佳实践。 这是一个初始检查表,基于我当前用于审阅主题的(正在进行的)设置/数据安全检查表(插件的原理应与主题相同)。 如果要使用安全且经过严格编码的主题设置页面检出主题,请检出此主题:http : //wordpress.org/extend/themes/coraline


3
回归测试WordPress网站的最佳做法?
大家好, 我想听听其他人以WordPress为平台向客户提供复杂的非博客解决方案的情况,他们正在使用什么进行自动回归测试? 对于那些不熟悉术语“回归测试”的人, Wikipedia将其定义为: 回归测试是任何类型的软件测试,其旨在通过重新测试程序来在对程序进行更改(例如,错误修正或新功能)后发现软件错误。回归测试的目的是确保更改(例如错误修正)不会引入新的错误。 更有说服力的Wikipedia指出以下内容正是我目前在一个项目上所经历的: 经验表明,随着软件的修复,新故障的出现和/或旧故障的再次出现是很普遍的。有时会出现重新出现的情况,因为修订是由于不良的修订控制实践(或修订控制中简单的人为错误)而丢失的。通常,解决问题的方法是“脆弱的”,因为它可以在首次发现问题的狭窄情况下解决问题,而在软件的整个生命周期内可能会出现的更一般情况下,则无法解决问题。通常,对一个区域中的问题的修复无意间导致了另一区域中的软件错误。最后,通常情况是,当重新设计某些功能时,在重新设计中会犯一些与该功能的原始实现相同的错误。 有了动作和过滤器的全局性,我发现随着我添加更多客户端请求的功能,复杂性开始增加,并且很难获得稳定的复杂插件,尤其是当它使用大量的调用WP_Query和更新数据库的情况时。 我认为解决方案是使用一系列“测试用例”设置回归测试以构成“测试套件”。从概念上讲,测试HTTP GET请求的HTML输出并不难。但是,当您必须通过管理控制台登录和/或测试jQuery交互时必须进行测试时,情况变得有些复杂。 我将其设置为社区Wiki,希望我们可以在此处收集最佳实践,但如果有其他WordPress专业人员正在使用,我真的很想听听流程。



5
首先按元键查询排序列表(如果存在),然后按标题显示按元顺序排序的其余帖子
我正在开发一个自定义分类术语页面模板,在该模板中,我们希望与该术语相关的项目按发布日期(自定义日期字段)进行排序-如果同一天有多个项目(格式如YYYY-MM- DD),然后按标题对它们进行排序,如果尚未填写自定义字段(旧项目),则最后按标题进行排序。 因此,我使用WP_query尝试了一百种不同的方式,它确实返回了我想要的大多数结果-但是在这种情况下,它仅返回具有publication_date的meta_key的项。所有其他项目都将被忽略并且不会显示。我使用“或”的关系尝试了meta_query,并将publication_date比较为EXISTS和NOT EXISTS,但是为我返回了0个结果。 此外,该站点仍在运行3.5.2,并且他们不想升级。 这是我最近的查询,使我获得具有按正确顺序显示的publication_date自定义字段的帖子: $term = get_queried_object(); // find the term of the taxonomy page we are on $wp_query = new WP_Query( array( 'post_type' => 'resource', 'tax_query' => array( array( 'taxonomy' => 'resource_types', 'field' => 'slug', 'terms' => $term->name, )), 'meta_key' => 'publication_date', 'orderby' => 'meta_value_num', 'order' => …

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.