Как исключить категорию постов из функции is_single()

Решено

На сайте реализованы хлебные крошки на всех страницах. Проблема в том, что после установки плагина-каталога(goods catalog) хлебные крошки отображаются и там, нужно их убрать со страниц товаров.

Вот код крошек:

<?php if ( is_single(‘9’) ) {
$post_id = get_the_ID();
$category_post = get_the_category($post_id);
$category_post_id = $category_post[0]->term_id;
?>
<ul class=»breadcrumbs»>
<li itemscope itemtype=»http://data-vocabulary.org/Breadcrumb»><a class=»home» href=»<?php bloginfo(‘url’); ?>» itemprop=»url»><span itemprop=»title»><?php echo $bread_crumbs_home; ?></span></a></li>
<?php if($category_post[0]->category_parent){ ?>
<li itemscope itemtype=»http://data-vocabulary.org/Breadcrumb»><a href=»<?php echo get_category_link($category_post[0]->category_parent); ?>» itemprop=»url»><span itemprop=»title»><?php echo get_cat_name($category_post[0]->category_parent) ?></span></a></li>

Как исключить из этого выражения все страницы из определенной категории? или страницы с определенным типом (в данном случае «good»).

Спасибо.

 

Добавить Комментарий
Ответ

Вариант 1. (1, 7, 8 — id категорий в которых не нужно выводить)


$categories = get_the_category();
$category_id = $categories[0]->cat_ID;
if(!in_array($category_id, array(1, 7, 8))){
// код хлебных крошек
}

Вариант 2. (1, 7, 8 — id категорий в которых не нужно выводить)


$category = get_queried_object();
if(!in_array($category->term_id, array(1, 7, 8))){
// код хлебных крошек
}

Вариант 3. По типу поста.($post_id — id записи, возможно $post->ID будет сразу работать)


$post_type = get_post_type( $post_id );
if(!in_array($post_type, array('good'))){
// код хлебных крошек
}

Большое спасибо, использовал 3й вариант, все работает просто шикарно!

в 05.04.2017.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.