除索引外,无法在页面上显示帖子

时间:2016-11-03 01:18:01

标签: php mysql wordpress wordpress-theming custom-wordpress-pages

以下是我要做的事情:我正在尝试将我的帖子的所有摘录显示到我的blog.php页面,但它不显示blog.php页面中的帖子,仅显示适用于index.php页面。让我解释一下......

这是我的代码:

<?php
  while ( have_posts() ) : the_post();

    get_template_part( 'excerpt', get_post_format() );

  endwhile;
?>

如果我把它放在index.php中,它会显示帖子的摘录。我还有一个名为blog.php的页面。我已将页面模板更改为blog.php文件。但是,当我从上面的blog.php页面中添加相同的代码时,它只显示页面内容,但不显示所有帖子。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

简而言之,如果您没有为blog.php页面定义WP_Query或在WP Admin中为其分配了一定数量的帖子,那么您只能获得由该帖子创建的一个帖子。 WP_Query创建了&#34; The Loop&#34;。

要更好地理解这一点,请查看:

https://www.elegantthemes.com/blog/tips-tricks/the-wordpress-loop-explained-for-beginners

https://developer.wordpress.org/themes/basics/the-loop/

答案 1 :(得分:0)

好的.....我得使用这段代码:

$current_page = (get_query_var('paged')) ? get_query_var('paged') : 1; // get current page number
$args = array(
    'posts_per_page' => get_option('posts_per_page'), // the value from Settings > Reading by default
    'paged'          => $current_page // current page
);
query_posts( $args );

$wp_query->is_archive = true;
$wp_query->is_home = false;

while(have_posts()): the_post();
    ?>
    <h2><?php the_title() /* post title */ ?></h2>
    <p><?php the_content() /* post content */ ?></p>
    <?php
endwhile;

https://rudrastyh.com/wordpress/separate-blog-pages.html