我试图让Wordpress博客的索引页面显示一些非常具体的帖子。据我所知,我需要使用标准循环才能使粘性帖子工作,因此自定义查询是不可能的。 (如果这是错误的,请纠正我。)
所有帖子都放在一个主要类别中(例如“化妆”)此外,应该在首页上显示的帖子会获得一个额外的类别“Frontpage”。
当前循环输出所有帖子,无论类别如何。并且某些类别的样式不同。一个例子是视频类别,它只通过从帖子中的自定义字段获取嵌入代码来显示。
<?php elseif (in_category('20')) : ?>
<div class="post element grid_4">
<?php echo get_post_meta($post->ID, 'Embed', true) ?>
</div>
我需要删除不在“Frontpage”类别中的所有帖子,同时仍然可以控制帖子的显示方式。
之前我使用过滤器来控制主循环:
function exclude_category($query) {
if ( $query->is_home ) {
$query->set('cat', '20 27');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
然而,这会导致我的geomashup-plugin中断,因为它可能使用相同的循环?
我目前提出的解决方案建议是做这样的事情,加上有效的代码:
<?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
答案 0 :(得分:0)
对于任何想通过在主循环的过滤器中包含地理标记的帖子类别(商店位置)来解决它的人,然后在index.php中使用php if来隐藏该类别的帖子。肮脏,但我认为有效。