Как исключить определенную категорию из get_the_category (); массив

В моем цикле я добавил:

<?php $categories = get_the_category(); $separator = ' '; $output = ''; if($categories){ foreach($categories as $category) { $output .= '<span class="post-category-info"><a href="'.get_category_link( $category->term_id ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a></span>'.$separator; } echo trim($output, $separator); } ?> 

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

Существует определенная категория «Рекомендуемые», которую я хочу предотвратить.

Я пробовал :

 <?php $categories = get_the_category(); $separator = ' '; $output = ''; if($categories){ foreach($categories as $category) { if($category !== 'Featured'){ $output .= '<span class="post-category-info"><a href="'.get_category_link( $category->term_id ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a></span>'.$separator;} } echo trim($output, $separator); } ?> 

Но я думаю, что это неправильный подход, поскольку он не работает 🙂

Может ли кто-нибудь помочь в достижении моей задачи или хотя бы указать мне в правильном направлении? 🙂

$category – это объект, содержащий переменные-члены, вам нужно проверить конкретный элемент var, который вы хотите сравнить.

изменение:

 if($category !== 'Featured') 

чтобы:

 if($category->name !== 'Featured') 

Чтобы сделать это еще дальше, если вы хотите исключить несколько категорий, попробуйте следующее …

  <?php $categories = get_the_category(); $separator = ' '; $output = ''; if($categories){ foreach($categories as $category) { if($category->name !== 'category name 1') if($category->name !== 'category name 2') if($category->name !== 'category name 3') { $output .= '<a href="'.get_category_link( $category->term_id ).'" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>'.$separator; } } echo trim($output, $separator); } ?>