正在删除带有相似标题名称的帖子

时间:2014-04-29 作者:Marc P

我正在尝试在一个带有相同页面标题的页面中插入帖子。例如,如果页面名为香蕉裤,那么我可以手动调用所有相关帖子,如下所示:

    <?php
    query_posts( array(
    \'tag_slug__in\' => array(\'Banana Pants\')
    )); 
    while (have_posts()) : the_post (); ?>
但是,我希望自动执行此操作。当我尝试将其作为变量时,它不起作用:

    <?php
    var $project_title = the_title();
    query_posts( array(
    \'tag_slug__in\' => array($project_title)
    )); 
    while (have_posts()) : the_post (); ?>
我做错了什么?或者,有没有更好的方法?

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

首先,不要使用query_posts

类型Codex:

注意:此功能不适用于插件或主题。如后文所述,有更好、性能更好的选项来更改主查询。query\\u posts()是一种过于简单且有问题的方法,通过将页面的主查询替换为新的查询实例来修改它。它效率低下(重新运行SQL查询),并且在某些情况下会彻底失败(尤其是在处理POST分页时)。任何现代的WP代码都应该使用更可靠的方法,比如使用pre\\u get\\u posts钩子。

(这里的图片由该网站mod提供@Rarst.

主要问题是the_title() echos 标题不是return 标题。

对于该范围,您必须使用get_the_title().

另外,PHP不是javascript,不要使用var 变量之前:

<?php
$project_title = get_the_title();
$query = new WP_Query( array(
  \'tag_slug__in\' => array( $project_title )
) );
while ( $query->have_posts() ) : $query->the_post(); ?>

结束

相关推荐

每当我安装/更新插件时,都会收到“Warning:CALL_USER_FUNC_ARRAY()”错误

这是在我将wordpress安装从共享主机移到vps后开始的。完全错误如下:警告:call\\u user\\u func\\u array()要求参数1为有效回调,数组必须在/home/pcsteps/public\\u html/wp includes/plugin中正好有两个成员。php在线199我只有在安装或更新插件时才能得到它。它似乎不会以任何方式影响插件的功能。插件上提到的行。php如下所示:195 do { 196 foreach( (array) current($