Wordpress: Показать сообщение, если оно в двух конкретных категориях - PullRequest
0 голосов
/ 09 сентября 2011

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

Все посты помещены в основную категорию (например, «Макияж»). Кроме того, посты, которые должны отображаться на первой странице, получают дополнительную категорию «Главная страница»..

Текущий цикл выводит все сообщения независимо от категории.И стили определенных категорий по-разному.Примером может служить категория видео, которая отображается только при получении кода для встраивания из настраиваемого поля в сообщении.

 <?php elseif (in_category('20')) : ?>     
 <div class="post element grid_4">
 <?php echo get_post_meta($post->ID, 'Embed', true) ?>
 </div>

Мне нужно удалить все сообщения, не входящие в категорию «Главная страница», покавозможность управлять отображением сообщений.

Ранее я использовал фильтр для управления основным циклом:

function exclude_category($query) {
if ( $query->is_home ) {
$query->set('cat', '20 27');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

Однако это может привести к сбою моего плагина geomashup, поскольку он, вероятно, используеттот же цикл?

Мое текущее предложение для решения было бы сделать что-то вроде этого, плюс функциональный код:

 <?php elseif (the post is in BOTH category 20 and 27)) : ?>     
 <div class="post element grid_4">
 <?php echo get_post_meta($post->ID, 'Embed', true) ?>
 </div>

 <?php else : ?>     
 <div style: display: none;></div>

Однако я не уверен, как сделать условие, требующее, чтобы сообщение былов двух категориях, и я понимаю, что это очень грязное исправление.

Любые советы или указатели относительно того, как я мог бы решить эту проблему, были бы очень благодарны:)

Главная страница может быть замечена здесь:http://parfymelle.brandbase.no

1 Ответ

0 голосов
/ 14 сентября 2011

Для всех, кому интересно, я решил эту проблему, включив категорию постов с геотегами (расположение магазинов) в фильтр основного цикла, а затем используя php if в index.php, чтобы скрыть посты из этой категории.Грязный, но работает, я думаю.

...