For some reason the following code is displaying both types of posts instead of just the specified post using query_posts
. I am not quite sure what is going on, but it appears that the loop is ignoring my condition of is_page('news')
or is_page('othernews').
Does anyone have an idea why this might be the case?
JavaScript
x
<?php
if (is_page('news')) :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('news');
endif;
if (is_page('othernews')) :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('my-other-news'); ?>
endif;
while (have_posts()) : the_post();
get_template_part( 'part-post');
endwhile;
?>
Advertisement
Answer
Try this whether this works for you,
JavaScript
<?php
if (is_page('news')) :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = WP_query(array('post_type' => 'news'));
else if (is_page('othernews')) :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = WP_query(array('post_type' => 'other-news'));
else
$query = WP_query(array('post_type' => 'post'));
endif;
while ($query->have_posts()) : $query->the_post();
get_template_part( 'part-post');
endwhile;
?>
The last else condition is to handle if none of the first 2 condition satisfies. So you can remove it if you no need that.
Hope this helps you.