2014-04-02 77 views
0
<?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帖子循环

如何编辑代码来阻止它循环wordpress中的所有帖子,并只显示我想要的帖子。

+0

你想显示什么样的职位? –

回答

0

我想这就是你要找的。你可以通过它的slu get获得一篇文章。

<?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; 
} 
?> 
+0

我不知道什么是slu is对不起 – user3487372

+0

如果你“快速编辑”一篇文章,你可以看到一篇文章的slu g。 –

+0

好吧,我把slu placed放进去,现在它显示'找到的第一个帖子上的ID'。对不起,我不明白这一点。我真的不熟悉WP – user3487372

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(); ?> 
+0

对不起,我不确定我是否理解。所以我会把这个代码放在我现在所在的位置。但是我会把它放在这里的//你的循环里面吗?我只是不太适合WP,只需要确保我正确理解这一点。 – user3487372

+0

@ user3487372不,您的循环在这里是您要将数据打印到页面的位置,例如'

<?php the_title(); ?>

',他说你需要修改你正在迭代的循环。比如,如果它是一个特定的帖子类型,你可以将''post_type'=>'post''改为''post_type',=>'custom_post_type'。 – Ohgodwhy

+0

我想我可能已经想出了一个办法。所以我发布的每篇文章都有自己的帖子页面。我在想,如果我能够抓取显示帖子到特定帖子页面的php代码,我可以将它放在我的视差页面上。我将如何找到显示某个帖子的php代码? – user3487372

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