как удалить дубликаты терминов из wp_get_post_terms ()? - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь просмотреть сообщения в соответствии с term_ids из следующего кода. Я получил следующие массивы, включая один дубликат:

$terms = wp_get_post_terms($post->ID,'book',array("fields" => "all"));
print_r($terms);
Array
(
    [0] => WP_Term Object
        (
            [term_id] => 10
            [name] => Life Style
            [slug] => life-style
            [term_group] => 0
            [term_taxonomy_id] => 10
            [taxonomy] => book
            [description] => 
            [parent] => 0
            [count] => 1
            [filter] => raw
        )

    )

Array
(
    [0] => WP_Term Object
        (
            [term_id] => 7
            [name] => My First Novel
            [slug] => my-first-novel
            [term_group] => 0
            [term_taxonomy_id] => 7
            [taxonomy] => book
            [description] => 
            [parent] => 0
            [count] => 2
            [filter] => raw
        )

    )
Array
(
    [0] => WP_Term Object
        (
            [term_id] => 7
            [name] => My First Novel
            [slug] => my-first-novel
            [term_group] => 0
            [term_taxonomy_id] => 7
            [taxonomy] => book
            [description] => 
            [parent] => 0
            [count] => 2
            [filter] => raw
        )

    )

Я пытался использовать функцию array_unique, но она не работала

Category.php page

while(have_posts()) : the_post();

$terms =  wp_get_post_terms($post->ID,'book',array("fields" => "all"));                        
if($terms[0]->taxonomy !== 'book'){show posts}
if($terms[0]->taxonomy === 'book' && isset($terms[0]->term_id)){
    foreach ($terms as $term):

        $args = array(

            'post_type' => 'post',
            'order' => 'ASC',
            'showposts' => -1,
            'tax_query' => array(
                array(
                    'taxonomy' => $term->taxonomy,
                    'field' => 'term_id',
                    'terms' => $term->term_id
                )
             ),

         );
         $the_query = new WP_Query( $args );

         while($the_query->have_posts(): $the_query->the_post:
             show posts
         endwhile;

    endforeach;
} 

Итак, я пытаюсь сделать следующее: у меня есть пользовательская таксономия 'book' и категория таксономии по умолчанию в качестве жанра книги, так что если кто-то захочет опубликоватьв случае полной главы романа, он создаст название книги под таксономией «книга», создаст посты в качестве главы и выберет жанр книги, скажем, роман, а когда кто-нибудь нажмет на категорию романа в качестве жанра, он увидит название книги, изображение обложки книги и все посты. Так же глава романа покажет загрузочный поповер.

Таким образом, жанр может содержать полную книгу или просто один рассказ или стихотворение, отдельные сообщения будут отображаться как есть, а полная книга будет отображаться как книга, содержащая главы.

Пожалуйста, помогите и сообщите.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...