WP_QUERY BY关键字或POST标签

时间:2017-06-09 作者:Bruno Rodrigues

是否有任何“本机”方式可以通过关键字或post标记进行查询?

如果没有,我如何编写一个好的SQL查询来正确检索数据?

提前感谢!

1 个回复
SO网友:Picard

根据您想要实现的目标,最简单的方法是Wordpress documentation 如下所示。

在“people”自定义分类下显示标记为“bob”的帖子:

$args = array(
    \'post_type\' => \'post\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'people\',
            \'field\'    => \'slug\',
            \'terms\'    => \'bob\',
        ),
    ),
);
$query = new WP_Query( $args );
查看文档链接-您将找到更多高级示例。

Update:

如果您想实际查询“关键字”或“标记”。。。

有趣的是,我做了一些研究,结果表明,这在Wordpress中并不是那么微不足道。

我发现的最干净的本地解决方案使用了三个查询。前两个获取ID—一个通过标记,另一个通过关键字,然后第三个进行最终查询。

$set1 = new WP_Query( array(\'
                    \'fields\'=> \'ids\',
                    \'post_type\' => \'post\',
                    \'tax_query\' => array(
                        array(
                            \'taxonomy\' => \'people\',
                            \'field\'    => \'slug\',
                            \'terms\'    => \'bob\'
                        )
                    )
                )
);
$set2 = new WP_Query( array(
                    \'fields\'=>\'ids\',
                    \'post_type\' => \'post\',
                    \'s\' => \'News\')
);

$combined_ids = array_merge($set1->posts, $set2->posts);
$combined_ids = array_unique($combined_ids);

$combines_sets = new WP_Query(array(
                            \'post__in\' => $combined_ids)
);

结束

相关推荐

double page title

我在主页“我的网站我的网站”上有我的页面标题。其他页面为“页面标题|我的网站我的网站”。我已签入标题。我的主题的php文件,看起来不错<title><?php wp_title(\'|\',true,\'right\'); ?></title> 我还检查了网站标题的设置,它仍然是“我的网站”我对重复的标题进行了研究,大多数人似乎都有这个问题,因为SEO插件覆盖了标题。在我的情况下,我没有任何SEO插件,下面您可以在我的网站上看到已启用插件的列表:Bootstr