我在页面中添加了一个名为“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);
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 );