【问题标题】:WordPress: How can I create an "all posts" page?WordPress:如何创建“所有帖子”页面?
【发布时间】:2014-11-03 15:43:57
【问题描述】:

看起来这应该很简单。我正在使用 Starkers 创建我的主题。我有一个静态主页。我的“home.php”模板如下所示:

<?php Starkers_Utilities::get_template_parts( array( 'parts/shared/html-header') ); ?>
    [ static content here... ]

<?php 
    $args= array('posts_per_page' => 5);
    $my_query = new WP_Query($args); 
?>
<?php if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); ?>
    [dynamic output here... ]
<?php endwhile; // end of one post ?>
<?php endif; //end of loop ?>

<?php Starkers_Utilities::get_template_parts( array('parts/shared/html-footer') ); ?>

这很好用。我还有一个名为“episodes”的模板(这个主题是针对播客网站的),它看起来像这样:

<?php Starkers_Utilities::get_template_parts( array( 'parts/shared/html-header') ); ?>
<?php while(have_posts()) : the_post(); ?>
    [dynamic output here... ]
<?php endwhile; ?>
<?php Starkers_Utilities::get_template_parts( array('parts/shared/html-footer') ); ?>

由于某种原因,这不起作用。在每个页面的编辑面板中,我从下拉列表中设置了适当的模板。同样在设置>阅读中,我将“首页显示”设置为“静态页面”,并将首页设置为“主页”并将页面设置为“剧集”

但是,剧集页面显示主页模板。

我假设 episodes.php 模板有问题,但我终生无法弄清楚它可能是什么。快把我逼疯了!

在此先感谢您提供任何帮助或见解。

【问题讨论】:

    标签: php wordpress-theming wordpress


    【解决方案1】:

    我对 Starkers 一无所知,但在我看来,您使用的是“受保护”页面模板 home.php。 如果您将名称更改为page-home.phppage-episodes.php,它应该可以工作。

    另一种解决方案是使用wp template hierarchy 中提到的wordpress 页面模板,然后您必须更改

    episodes.phphome.php

    home.phpfront-page.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多