按自定义分类查询自定义帖子类型(类别插件)

时间:2016-03-31 作者:Md Jwel Miah

我遵循了几个相关的解决方案。但我仍然面临着这个问题。我已将以下代码应用于按分类法(category)进行的自定义post查询。但它不起作用。我想我对“条款”的问题。

$terms = get_terms(\'service_cat\');
$services_post = new WP_Query(array(
    \'post_type\'         => \'service\',
    \'posts_per_page\'    => -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'service_cat\',
            \'field\' => \'cat1\',
            \'terms\' => $terms
        )
    ),
));
我还尝试了以下代码

$services_post = new WP_Query(array(
            \'post_type\'         => \'service\',
            \'posts_per_page\'    => -1,
            \'category_name\'     => \'cat1\' 
))

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

编辑以反映OP评论中的问题

的内容tax_query 数组并不完全正确:当您通过slug进行查询时field 单个分类查询的参数应为"slug".

您当前基本上是在查询所有service 来自所有服务类别的帖子(好吧,甚至不是这样,因为get_terms 返回对象,但仍然)。

要查询要从中加载帖子的单个(或多个)特定术语,请在terms 大堆tax_query 然后进行相应的分析。

$services_post = new WP_Query( array(
    \'post_type\'         => \'service\',
    \'posts_per_page\'    => -1,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'service_cat\',
            \'field\' => \'slug\',
            \'terms\' => array( \'cat1\' ) // Array of service categories you wish to retrieve posts from
        )
    )
) );
顺便说一下,我假设您希望检索所有post类型的帖子service

相关推荐

将wp_Query替换为wp_User_Query

我在插件中制作了一些订阅者档案和单曲(个人资料页),其中我还包括了一个“用户单曲”模板,通过template_include. 不过,我正在尝试从插件中删除一些模板,以使其使用主题模板。我用了locate_template( \'single.php\' ) 从活动主题中选择单个模板。我没有使用全局wp_query 在本例中显示我的内容,但页面显示了基于查询默认值的循环(十篇帖子)。我想知道的是,我是否可以完全放弃默认查询,用wp_user_query 我可以将查询到的用户ID输入其中。然后我想筛选the