Отображение категорий 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