开发者

Wordpress: Show post if it is in two specific categories

I am trying to get the index-page of a Wordpress-blog show some very specific posts. As far as I understand i need to use a standard loop in order to make sticky posts work, so custom queries is out of the question. (Correct me if this is wrong.)

All posts are put in a main category (Eg. "Make-Up") In addition, posts that should show on the front page gets an additional category "Frontpage".

The current loop outputs all posts, regardless of开发者_Go百科 category. And styles certain categories differently. An example would be the video-category which is only shown by getting an embed code from a custom field in the post.

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

I need to remove all posts not in the category "Frontpage" while still being able to control how posts are being shown.

Earlier i used a filter to control the main loop:

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

However this would cause my geomashup-plugin to break as it probably uses the same loop?

My current proposal for a solution would be to do something like this, plus functioning code:

 <?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>

However i am unsure about how make a condition demanding the post to be in two categories, and i realise this is a terribly dirty fix.

Any tips or pointers as to how i could solve this would be greatly appreciated :)

Front page can be seen here: http://parfymelle.brandbase.no


For anyone wondering i solved it by including the geotagged posts-category (the shop locations) in the filter for the main loop, and then using a php if in the index.php to hide posts from that category. Dirty, but works, i guess.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜