Compare dois tipos de postagem personalizados usando a mesma taxonomia personalizada

Eu tenho dois tipos de postagem, cursos e depoimentos , compartilhando as mesmas taxonomias. O que eu procuro realizar é verificar se um curso está na mesma categoria como um depoimento. Em seguida, mostre se é, tendo em mente que eles poderiam ter mais de uma categoria cada.

Atualmente, posso verificar quais categorias estão usando get_the_term_list() mas não consigo descobrir como compará-las entre si.

O que eu preciso é poder verificar é se as categorias marcadas em pm_course (pós-tipo) são idênticas às de cursos (pós-tipo). Se eles tiverem a mesma categoria, eu quero exibir o testemunho, se não quero não fazer nada.

Realmente uma declaração básica de if else, mas não consigo encontrar uma maneira de ver se as categorias verificadas são as mesmas em ambos.

Solutions Collecting From Web of "Compare dois tipos de postagem personalizados usando a mesma taxonomia personalizada"

Não use get_the_term_list() , pois retorna uma string HTML, o que torna a comparação mais difícil.

Use wp_get_post_terms() ( link Codex ) em vez disso. Pode retornar uma matriz, e então você pode usar algo como array_intersect() para obter os termos que correspondem.

Seu código deve parecer algo assim (não testei isso):

 $course_terms = wp_get_post_terms($course_post_id, 'course_type'. array('fields'=>'slug')); $testimonial_terms = wp_get_post_terms($testimonial_post_id, 'course_type'. array('fields'=>'slug')); $matches = array_intersect($course_terms, $testimonial_terms); if (count($matches) > 0) echo "matching terms";