Исключая термины (названия категорий) по идентификатору для текущей записи

Я обнаружил, что эта функция отображает термины, прикрепленные к сообщению, но мне не удается найти способ исключить определенные идентификаторы некоторых терминов категории, которые я не хочу отображать в списке.
Может ли кто-нибудь дать мне подсказку, с чего начать? Я посмотрел все функции, используемые в этой функции, но не могу найти аргументы для исключения идентификаторов.

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

   // get taxonomies terms links
function custom_taxonomies_terms_links() {
global $post, $post_id;
// get post by post id
$post = &get_post($post->ID);
// get post type by post
$post_type = $post->post_type;
// get post type taxonomies
$taxonomies = get_object_taxonomies($post_type);
$out = "<ul>";
foreach ($taxonomies as $taxonomy) {
// get the terms related to post
$terms = get_the_terms( $post->ID, $taxonomy );
if ( !empty( $terms ) ) {
foreach ( $terms as $term )
$out .= '<li><a href="' .get_term_link($term->slug, $taxonomy) .'">'.$term->name.'</a></li> ';
}
}
$out .= "</ul>";
return $out;
}

0

Решение

Добавить еще один условный if заявление в течение вашего второго foreach() проверить, действительно ли $term следует игнорировать. Например:

// An array of IDs to ignore/exclude
$excluded_ids = array( 1, 2, 3, 4);

foreach ( $terms as $term ) {
// Only proceed if the term_id is NOT in the $excluded_ids array
if ( !in_array( $term->term_id, $excluded_ids ) ) {
$out .= '<li><a href="' .get_term_link($term->slug, $taxonomy) .'">'.$term->name.'</a></li> ';
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]