Отображение категорий WordPress верхнего уровня

У меня есть следующий фрагмент кода в моем шаблоне Wordpress, и я хотел бы изменить его так, чтобы он отображал только категории верхнего уровня, а не все категории:

<?php
/**
 * Generate list of EDD categories to browse
 */

if ( $categories ) { ?>

    <div class="search-cats">
        <div class="search-cat-text">
            <?php _e( 'Or browse by category: ', 'checkout' ); ?>
        </div>
        <nav>
        <?php
            /**
             * Generate list of EDD category links
             */
            foreach ( $categories as $category ) {
                $link = get_term_link( $category, 'download_category');


                echo '<a href="' . esc_url( $link ) . '" rel="tag">' . $category->name . '</a>';
            }
        ?>
        </nav>
    </div>
<?php } ?>

Кто-нибудь может мне помочь?

2 ответа

Решение

Точка на родителя => 0

<?php
    /**
     * Generate list of EDD categories to browse
     */
    $args = array(
      'orderby' => 'name',
      'taxonomy' => 'download_category',
      'hide_empty' => 0,
      'parent' => 0
    );      
    $categories = get_categories($args);

Вы используете свой код, как это с помощью get_categories(), тебе стоит попробовать:

$args = array(
  'orderby' => 'name',
  'parent' => 0
);

parent (integer) Получить прямые потомки этого термина (только те термины, чей явный родитель это значение). Если передано 0, возвращаются только термины верхнего уровня. По умолчанию это пустая строка.

Подробнее: http://codex.wordpress.org/Function_Reference/get_categories

Другие вопросы по тегам