仅获取具有特定分类的页面

时间:2016-06-15 作者:Zephy

我在页面中添加了一个名为“post\\u tag”的自定义分类法,并尝试进行一个查询,只获取具有特定标记集的页面。

我已经尝试了几种不同的方法,甚至使用自定义查询来获取它们,或者使用tax_query 设置正确,但我就是不能让它工作,有时它返回每个页面,即使他们没有该标记,有时它只是中断。

if( ! function_exists(\'tagpages_register_taxonomy\') ){
    function tagpages_register_taxonomy()
    {
        register_taxonomy_for_object_type(\'post_tag\', \'page\');
    }
    add_action(\'admin_init\', \'tagpages_register_taxonomy\');
}
我试着用如下查询获取页面

$args = array(
    \'sort_order\' => \'asc\',
    \'sort_column\' => \'post_title\',
    \'hierarchical\' => 1,
    \'exclude\' => \'\',
    \'include\' => \'\',
    \'meta_key\' => \'\',
    \'meta_value\' => \'\',
    \'authors\' => \'\',
    \'child_of\' => 0,
    \'parent\' => -1,
    \'exclude_tree\' => \'\',
    \'number\' => \'\',
    \'offset\' => 0,
    \'post_type\' => \'page\',
    \'post_status\' => \'publish\'
); 

$args[\'tax_query\'] = array(
    array(
        \'taxonomy\' => \'post_tag\',
        \'terms\' => array(\'montly\'),
        \'field\' => \'slug\',
    ),
);

$pages = get_pages($args); 

1 个回复
SO网友:Christian Rios

没有看到代码,这有点难。。。

但如果您试图查询某个分类法\'post_type\' => \'page\', 确保你

将已注册的分类添加到已注册的帖子类型。(See Codex)

在这种情况下,您可以将其添加到\'post_type\' => \'page\' 因为默认情况下,“页面”不支持任何分类法。

同样,您可能已经这样做了,问题是其他的,但鉴于手头的信息,这是我最好的猜测:)

<小时>

EDIT

因此,从理论上讲,这就是基于您的代码片段使用WP\\u查询的方式

$args = array(
    \'post_type\' => \'page\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'post_tag\',
            \'field\'    => \'slug\',
            \'terms\'    => \'montly\',
        ),
    ),
);
$query = new WP_Query( $args );

相关推荐

Custom Taxonomy Page

我正在尝试创建一个显示特定类别的所有子类别的页面。所以在上下文中,我有一个标题为“目的地”的父类别。我希望能够点击目的地,并被引导到一个页面,显示子类别或国家的列表。下面是我试图实现的一个示例,减去顶部的地图-https://www.vagabrothers.com/destinations. 在理想情况下,类别页面的布局将与此页面相同。你可以从上面的例子中看出我的意思。它会使网站上的导航像这样:目的地>国家>个人帖子。我正在使用CPT UI,设置了一个名为“目的地”的自定义帖子类型和类别,然