Что не так с использованием этой функции WordPress: wp_list_categories()

Не можете увидеть, где я иду с этим, любая помощь, пожалуйста?

$current_term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

//then set the args for wp_list_categories
 $args = array(
    'child_of' => $current_term->term_id,
    'taxonomy' => $current_term->taxonomy,
    'hide_empty' => 0,
    'hierarchical' => true,
    'depth'  => 1,
    'title_li' => __(''),
    'echo' => '0'
    );

$terms_list = wp_list_categories( $args);
if( $terms_list ){
    ?>
    <div id="terms_list">
        <ol>
            <?php echo $terms_list; ?>
        </ol>
    </div>
    <?php
};

// this line is just here for debug to confirm that we have the right item  - it is not a part of the design or normal functionality
 echo  '<h1>terms_id: ' . $current_term->term_id . ' name: ' . $current_term->name . ' and: ' . $current_term->taxonomy . '</h1>'; 
?>

поэтому функция, вызывающая проблему - это wp_list_categories(), и она вообще ничего не возвращает. Я проверил, что термин правильный, и у него есть посты, и у него есть дети, у которых тоже есть посты. Энди, помощь оценена!

1 ответ

$current_term->term_id имеет тип строки. child_of параметр ожидает целое число

Попробуйте сделать это:

$args = array(
    'child_of' => (int) $current_term->term_id,
    'taxonomy' => $current_term->taxonomy,
    'hide_empty' => 0,
    'hierarchical' => true,
    'depth'  => 1,
    'title_li' => __(''),
    'echo' => '0'
);
Другие вопросы по тегам