Мне нужно проверять пост по его типу и если он совпадает - выводить определенный шаблон.
Вот код single.php
$items = get_posts( $args ); //все товары
$item_ids = array(); //только id-шники товаров
foreach($items as $item):
if(!in_array($item->ID, $item_ids)) $item_ids[] = $item->ID;
endforeach;
if(in_array($post->ID, $item_ids)): //если текущий пост является товаром то выводим блок о товаре
?>
тут один шаблон, стандартный
<?php if (is_single() && is_post_type('post_type')){ ?>
здесь я пытаюсь осуществлять проверку по типу поста, и у меня не получается. Уверен что проблема в синтаксисе
<?php } ?>
<?php else: //Если текущий пост не товар, то выводим просто контент поста?>
тут второй шаблон
<?php endif;?>
Этот код я добавил в свой functions.php для проверки по типу поста (инфу взял отсюда ). Отдельно этот код работает, но интегрировать в существующий не получается.
function is_post_type($type){
global $wp_query;
if($type == get_post_type($wp_query->post->ID)) return true;
return false;
}
Попробуйте заменить вот эту конструкцию
if (is_single() && is_post_type('post_type')) {...}
вот этой
$post_type = get_post_type($post->ID);
if ($post_type == 'post_type') {...}
В single.php проверка is_single()
избыточна, т. к. вы уже находитесь в шаблоне для страницы поста
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Перенимаю проект бывшего рабочего в команииПроект был разработан на GL Studio и генирирует очень много файлов сам, т
Дана программа с использованием поразрядных операторовПроблема в printBinary
Нужен исходник прокси сервера, пробрасывающего запросы от клиента (FireFox) к вышестоящему HTTP прокси и обратно