Как получить все категории родителей / детей пользовательской таксономии в WordPress - PullRequest
0 голосов
/ 10 октября 2018

Я работаю над пользовательской темой WordPress и хочу показать список всех таксономий

Так, например, если я хочу эту структуру:

  1. Родительская категория 1

    • Дочерняя категория 1
    • Дочерняя категория 2
    • Дочерняя категория 3

      1.1 - Большая детская категория 1

  2. Родительская категория 2

    • Дочерняя категория 4
    • Дочерняя категория 5

      2.1.- Grand Child Category 2

Не могли бы вы, ребята, помогите мне решить эту загадку

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Попробуйте эту функцию: замените "taxonomy_name" на вашу таксономию.

wp_list_categories( array('taxonomy' => 'taxonomy_name', 'title_li' => "") );

Вывод:

Output look like this

Примечание: Iиспользовали WP 4.9.8

0 голосов
/ 10 октября 2018

Чтобы создать эту структуру, возможно, решение с использованием вспомогательного массива.Это не 100% -ное решение, оно просто даст вам старт, и вы можете пойти отсюда, так как выяснение этого в одиночку будет более полезным.

$all_terms = array();
$taxonomy = 'category';
$parent_args = [
    'taxonomy'     => $taxonomy,
    'parent'        => 0,
    'hide_empty'    => false
];
$parent_terms = get_terms( $parent_args );

foreach ( $parent_terms as $parent_term ) {
   $all_terms[ $parent_term->term_id ] = get_all_term_children( $parent_term, $taxonomy );
}

function get_all_term_children( $term, $taxonomy ){
    if ( is_wp_error( get_term_children( $term->term_id, $taxonomy ) ) ) {
        return;
    }

    return get_term_children( $term->term_id, $taxonomy );
}
...