Я пытаюсь получить на индексной странице 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