Php 如何在Wordpress中查询多个单词标记

Php 如何在Wordpress中查询多个单词标记,php,wordpress,tags,Php,Wordpress,Tags,我正在开发的一个站点(运行WordPress 3.4.2)有一个带有标签列表的侧栏 单击标记链接时,用户将被带到tag.php,其中包含一个自定义查询,以显示与所讨论的标记相关的所有帖子 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts(array( 'post_type' => array('blog','news'), 'tag'=>single_tag_tit

我正在开发的一个站点(运行WordPress 3.4.2)有一个带有标签列表的侧栏

单击标记链接时,用户将被带到tag.php,其中包含一个自定义查询,以显示与所讨论的标记相关的所有帖子

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts(array( 'post_type' => array('blog','news'),          'tag'=>single_tag_title('', false), 'posts_per_page' => -1, 'caller_get_posts' => 1, 'paged'    => $paged));
这之后是一个循环,它会给出每个帖子的摘要。单击单个单词标记(如“windows”)时,一切正常,但单击多个单词标记(如“操作系统”)时,查询找不到任何帖子

我知道WordPress标签设计为单字,我知道我可以通过将所有多字标签连字符来解决这个问题


但是,为了便于阅读,我更愿意继续使用非连字符的多单词标记。

非常感谢您的帮助David-最后,Wordpress主持人@alchymyth的提示让我找到了这个更简单的解决方案:

我使用的是单标签标题,需要使用标签slug。以下是小规模步骤中的修复(tag.php中的所有更改):

  • 为当前标记设置一个变量:

    $current_tag = single_tag_title("", false);
    
  • 在查询单元中,帖子更改:

    'tag'=>single_tag_title('', false)
    

  • …所以完整的代码是:

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $current_tag = single_tag_title("", false);
    
    query_posts(array( 'post_type' => array('blog', 'news'), 'tag_slug__and'=>array($current_tag), 'posts_per_page' => -1, 'caller_get_posts' => 1, 'paged' => $paged));
    
    以下是论坛帖子:


    再次感谢。

    您的问题源于您的代码,多个单词标记可以很容易地完成。您知道我可以从哪里开始解决问题吗?我编写的查询只返回单个单词或连字符标记的结果。
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $current_tag = single_tag_title("", false);
    
    query_posts(array( 'post_type' => array('blog', 'news'), 'tag_slug__and'=>array($current_tag), 'posts_per_page' => -1, 'caller_get_posts' => 1, 'paged' => $paged));