META_KEY和META_VALUE不使用Get_Pages和自定义分类

时间:2012-05-22 作者:Tiffany Israel

我正在尝试对页面使用自定义分类法。基本上,页面具有“相关性”分类法,描述页面与谁相关。这些页面是根据网站所在学区的部门结构在层次结构中创建的。假设我在校友页面,我想列出所有与教育服务相关的子页面,比如如何获取成绩单。

我试过以下两种方法

<?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,我就是这么做的。

1 个回复
最合适的回答,由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(); ?>

结束

相关推荐

使用wp_INSERT_TERM()函数添加术语时,缺少Term_id和Term_Taxonomy_id

检查线路;list($term\\u id,$taxonomy\\u id)=$result在下面的代码段中。(朝向底部)。为什么我缺少术语\\u id&;当我回显$taxonomy\\u id的值时?它们不应该由wp\\u插入它们来填充吗? $term_name = \'Uncategorized\'; $term_slug = sanitize_title(\'Uncategorized\', \'Default category slug\'); $term_