Intereting Posts
Ссылка на последнюю дочернюю страницу создавая подключаемый модуль, в котором будут задействованы функции сохранения / обновления сообщений Пользовательские поля не отображаются на странице с несколькими циклами Пользовательские рейтинги для темы, правильный способ рефакторинга и очистка файла шаблона создание опций для плагинов Отдельные события в качестве субстраницы на главную страницу календаря Различные меню в разных категориях нуждаются в совете Альтернативы current_cat_ancestor как редактировать functions.php в дочерней теме Как создать связанный список тегов на боковой панели Адрес WordPress (URL) – как он работает? Пользовательские поля Постоянная ссылка Плагин не соблюдает дефисы Пользовательский короткий код + запрос и заказ сообщений с использованием нескольких дополнительных пользовательских флажков Использование? P = $ post_ID вместо permalink в результате AJAX Условный wp_enqueue_script на странице

Добавлено if statement to loop

Я пытаюсь добавить функцию в свой loop.php для использования с настраиваемым типом сообщения. Тем не менее, я не хочу, чтобы он отображался на всех постах, только те, которые являются настраиваемым типом сообщения (скажем, его называют «отзыв»).

Есть ли способ сказать, если post type = review, а затем показать этот новый раздел, иначе скрыть?

Я попытался использовать

<?php if( get_post_type() == 'reviews' ) 

но я не знаю, как сформулировать оператор else, просто ничего не делать и продолжать нормально.

Спасибо!

Solutions Collecting From Web of "Добавлено if statement to loop"

Попробуйте следующее:

 if ( have_posts() ) { while( have_posts() ) { the_post(); if ( 'reviews' === get_post_type( get_the_ID() ) { echo 'I am a post of the post type &rdquo;reviews&ldquo;'; // We're done here, continue to next post continue; } // Do other stuff } } 

РЕДАКТИРОВАТЬ

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

 <?php /** Plugin Name: »kaiser« Get custom post type objects */ function wpsedebug_post_type_obj() { if ( ! is_admin() ) return; $pt = get_post_types( array( 'public' => true ,'_builtin' => false ) ,'object' ); return print '<pre>'.var_export( $pt, true ).'</pre>'; } add_action( 'shutdown', 'wpsedebug_post_type_obj' ); 

попробуйте http://codex.wordpress.org/Function_Reference/get_post_type использовать это, чтобы получить значение пользовательского типа сообщения и сравнить его

Например:

 <?php $myPostType = get_post_type( $post->ID ); if($myPostType == 'Review'){ //It's a review post type, whoo! } ?> 

Я понял. Мне пришлось отформатировать его так:

 <?php if( get_post_type() == 'reviews' ) { ?> // stuff inside if statement <?php } ?>