<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentythirteen_paging_nav(); ?>
<?php else : ?>
<?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>
我从2013主题的index.php
文件中获取了此代码。我将此代码粘贴到我的网站,以便我以后编辑。有用。但它会显示我放置上述代码的所有帖子,但我需要只显示某些部分的帖子。
如何编辑代码以阻止它循环wordpress中的所有帖子并仅显示我想要的帖子。
答案 0 :(得分:0)
我通常会创建一个新的WP_Query对象。关于这个的好处是它可以嵌套在其他循环中,如果需要 - wp_reset_query()
应该防止嵌套查询影响主查询。
<?php
$new_loop = new WP_Query( array(
'post_type' => 'post',
'posts_per_page' => 5
) );
?>
<?php if ( $new_loop->have_posts() ) : ?>
<?php while ( $new_loop->have_posts() ) : $new_loop->the_post(); ?>
// Your loop here
<?php endwhile;?>
<?php else: ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
答案 1 :(得分:0)
我认为这就是你要找的东西。你可以通过它的slug获得一个帖子。
<?php
$the_slug = 'my_slug';
$args=array(
'name' => $the_slug,
'post_type' => 'post',
'post_status' => 'publish',
'numberposts' => 1
);
$my_posts = get_posts($args);
if( $my_posts ) {
echo 'ID on the first post found '.$my_posts[0]->ID;
}
?>
答案 2 :(得分:0)
我认为此代码对您有帮助
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args=array('post_type' => 'post','posts_per_page' => 3, 'paged' => $paged);
query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post();
// Your loop here
<?php endwhile; ?>
<?php endif; ?>