没有显示所有带有术语元值的类别

时间:2018-10-16 08:13:19

标签: php wordpress

我需要显示术语meta的值为2的类别。下面是我的代码:

  <?php
        $args = array(
            'show_option_all'    => '',
            'orderby'            => 'ID',
            'order'              => 'ASC',
            'posts_per_page'     => -1,
            'meta_query' => array(
               array(
                  'key'       => 'term_category_realized',
                  'value'     => 2,
                  'compare'   => '==='
               )
             )
        );

        $categories = get_categories($args);



        echo '<ul class="realized-projects-category-list">';
          foreach($categories as $category) {
             echo '<li>';
              echo '<a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>';
             echo '</li>';
          }
        echo '</ul>';
      ?>

此脚本的问题是我在数据库中有9个适合查询的条目,但仅显示其中4个。

有人知道我的代码中缺少什么吗?

1 个答案:

答案 0 :(得分:2)

要逐项获取元值,请使用get_terms参数尝试$args

请参见以下代码:

 $args = array(
      'taxonomy' => 'YOUR-TAXONOMY-NAME',
      'orderby' => 'ID',
      'order' => 'ASC',
      'hide_empty' => false,
      'posts_per_page'     => -1,
      'meta_query' => array(array(
        'key' => 'term_category_realized',
        'value' => 2,
        'compare' => '='
      )),
    );

    $terms = get_terms( $args );
  print_r($terms);

更多帮助:Click Here