我正在尝试对页面使用自定义分类法。基本上,页面具有“相关性”分类法,描述页面与谁相关。这些页面是根据网站所在学区的部门结构在层次结构中创建的。假设我在校友页面,我想列出所有与教育服务相关的子页面,比如如何获取成绩单。
我试过以下两种方法
<?php
$pages = get_pages( array( \'child_of\' => \'65\',\'hierarchical\' => 0, \'meta_key\' => \'relevance\', \'meta_value\' => \'alumni\' ) );
foreach ( $pages as $page ) {
echo $page->post_title;
}
?>
以及
<?php wp_list_pages( array( \'child_of\' => \'65\', \'meta_key\' => \'relevance\', \'meta_value\' => \'alumni\') ); ?>
两者都显示65的子页,不使用meta\\u键;meta\\u值属性,但一旦拥有它们,我什么都得不到。我非常肯定这些值是正确的。
我也试过。。
\'relevance\' => \'alumni\',
就像在查询中一样,但这不适用于这些函数。
知道为什么这行不通吗?get\\u pages函数列出meta\\u键(&;使用中的meta\\u值,表示必须将hierarchy设置为0,我就是这么做的。
最合适的回答,由SO网友:mrwweb 整理而成
自定义分类法不是元值,而是它们自己的东西。我不认为wp_list_pages()
或get_pages()
可以基于分类法进行查询,因此我建议使用WP_Query 而是:
<?php
$relevant_pages_args = array(
\'post_type\' => \'page\',
\'posts_per_page\' => -1,
\'post_parent\' => 65,
\'tax_query\' => array(
array(
\'taxonomy\' => \'relevance\',
\'field\' => \'slug\',
\'terms\' => \'alumni\'
)
)
);
$relevant_pages = new WP_Query( $relevant_pages_args );
if( $relevant_pages->have_posts() ) : while( $relevant_pages->have_posts() ) : $relevant_pages->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile; endif; wp_reset_postdata(); ?>