WordPress как на ладони
WordCamp Saint Petersburg 2018 wordpress jino

Как исключить текущую таксономию

Суть следующая, нужно получить ID текущей таксономии, чтобы исключить ее из вывода. Не хочу выводить ссылку на таксономию в которой уже нахожусь.

$inc = [46, 47];
$id = 47; // id текущей таксономии, которую нужно получить
$key = array_search($id, $inc);
if($key !== false){
unset($inc[$key]);
}
// var_dump($inc);

$terms = get_terms( array(
'taxonomy' => 'razdel',
'include'    => $inc,
'order' => 'DESC',
//'number' => 5
));

$id = 47; тут нужно подставить автоматом id текущей такс

0
Гость
1.5 год назад
  • 0
    $id = get_queried_object()->term_id;
    Андрей 1.5 год назад

    Спасибо, работает. Может подскажете, как исключить несколько ID таксономий при вот таком варианте

    get_the_term_list( $post->ID, 'razdel', '<div class="pod">', '', '</div>');

    К примеру таксономии с id 47 и 48 выводить ненужно.

    naikyavd 1.5 год назад

    Ды никак тут не выведешь, надо работать через get_terms().
    Если надо позже могу помоч.
    Надо смотреть, что возвращает get_queried_object() и идти от туда, задача глупая(получать родителей и исключать), надо изначально по другому это решать как то.

    Андрей 1.5 год назад

    На данный момент, это дело решил вот так, в целом такое решение устраивает, но исключает сразу все метки которые идут вместе с постом, в случаи если присутствует метка с введенным ID

     if( !has_term(array('46','47'), 'razdel') ) {
    echo get_the_term_list( $post->ID, 'razdel', '<div class="pod">', '', '</div>'); }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация