Как сравнить дочерние категории в WordPress? - PullRequest
0 голосов
/ 18 апреля 2020

На моей странице есть одна из многих родительских категорий "люди". У него есть некоторые дочерние категории, такие как «профессор» или «доктор» и др. c. В этих дочерних категориях я указал c людей как дочерние категории 2-го порядка. У меня также есть родительская категория под названием «обучение», в которой перечислены семинары и другие материалы. Учебные посты также получают категорию учителей (среди прочих)

Теперь моя проблема: если я открою указанную c страницу человека (человек также является пользовательским типом поста), он будет в категориях: люди-> должность-> сам человек. Я хочу показать на боковой панели список учений этого человека.

Я пытался создать небольшой виджет в функциях своих тем. php, но я не знаю, как считывать идентификатор категории. самого человека (который является дочерней категорией лица 2-го порядка -> должность), и чтобы сравнить его с идентификатором личности, я дал учения.

И, честно говоря, понятия не имею, как достичь что поскольку учение относится к нескольким категориям, а сам учитель является дочерней категорией 2-го порядка ...

Сейчас я использую этот код. Работает частично, но не полностью. Иногда некоторые учения пропускаются без причины, я могу понять:

$categories=get_the_category(); 
foreach ($categories as $cat) {
    $name = $cat->name;
    $fullname[] = $name;

}
wp_reset_query();

$people_title = get_the_title();
$loop = new WP_Query( array ('cat' => '293') );
    echo '<ul class="own_widget">';
        echo sizeof($fullname);
        while ( $loop->have_posts() ) : $loop->the_post();  
        for ($i = 0; $i < sizeof($fullname); $i++) {
            if (in_category($fullname[$i])) {echo '<li class="own_widget_item">'.get_the_title().'</li>';} 
        }   

        endwhile;
    echo '</ul>';   wp_reset_query();

Какой подход я могу попробовать дальше?

...