循环不在自定义模板页面上显示帖子

时间:2012-09-11 作者:user1255049

我有一个使用静态主页的网站,还有一个名为Press的贴子页面(press.php).模板正在正确拉起,但未显示任何帖子。知道为什么吗?提前谢谢。

Live site.

press.php

<?php
/*
Template Name: Press
*/
?>


<?php get_header(); ?>

<div id="logo">
    <a href="<?php bloginfo(\'url\'); ?>"><img src="<?php echo get_template_directory_uri(); ?>/img/parlour_side.png" alt="Parlour Salon logo" id="logo" /></a>
</div><!-- end logo -->

<div id="main">
    <div class="content">
        <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_content(\'read more...\'); ?>
            <p><?php the_date(); ?></p>
        <?php endwhile; ?>
        <?php else : ?>
                <p>I\'m not sure what you\'re looking for.</p>
        <?php endif; ?>
    </div><!-- end content -->

<?php get_footer(); ?>

2 个回复
最合适的回答,由SO网友:Adam 整理而成

复制press.php 并将其重命名为home.php.

您选择的页面"Press" 要成为仪表板中您的帖子的指定页面,

Settings > Reading > Posts Page: [Press]

。。。现在由Milo列出的模板层次结构控制。

首先WordPress将查找home.php 如果它存在,将作为模板应用于Press

如果不存在,则将移到默认值index.php 也要这样做。

有效地press.php 对你的Press 页面保持在Settings > Reading 首选项。

通常在创建自定义主题时index.php 看起来有点像,

<?php get_header(); ?>

<?php 

    if(is_home() ) {

    include \'homepage.php\';

    } else {

    //do as you wish here... i.e. display normal loop etc

   } 

?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>
homepage.php 例如,将是您的自定义主页,因此您不需要在阅读中使用任何设置。这只是对一些可以通过多种方式完成的事情的一个非常简单的概述,但只是想给你一个想法。

然而现在,您想要的是使用home.php 如上所述。

SO网友:Milo

当您指定一个页面作为帖子页面时,它不再是一个;第“”页;在传统意义上,不会使用分配给它的模板。

检查Template Hierarchy 要查看WordPress如何为此页面选择模板,请执行以下操作:

主页显示

home.php

index.php

结束

相关推荐

exclude category in loop.php

我用的是二十十主题。我试图从作者帖子中排除类别1。我在循环中使用了以下代码。phpquery_posts(cat=\'-1\'); while ( have_posts() ) : the_post(); ?> 但没有显示帖子。如何修复此问题?