Intereting Posts
Сбросить правила перезаписи после редактирования срока Как следить за сервером за ошибкой при установлении соединения с базой данных Неверная ошибка типа сообщения при попытке фильтрации и массового редактирования сообщений Помогите решить ошибку t_echo php при использовании echo do_shortcode Редактирование страниц дает ошибку 404 после обновления WordPress в панели администратора Проблема: wp_query выводит все изображения на сайт Можно ли изменить строку атрибутов встраивания YouTube по умолчанию? Передача параметра в постоянную ссылку Как взять кнопку справки и ссылку с панели инструментов Пользовательские таксономии неправильно подсчитывают изменения? Как я могу легко уменьшить размер установки WordPress от разработки до производства? создание настраиваемого мета-поля со значением по умолчанию WordPress ping spam issue с ​​услугами Ping? mod_rewrite не работает, поскольку я хочу, даже если JSON API Plugin отключен Добавить поддержку формата сообщения для детской темы Twentyeleven

Добавлено 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 } ?>