在wordpress中设置多个页面的内容

时间:2012-11-20 11:11:14

标签: wordpress

嗨我正在尝试做的是在page.php文件中为每个页面设置一堆if语句,例如,如果page == aboutus显示关于我们的内容等等。此刻,无论我在哪个页面上显示page.php文件中的所有内容,我确信它只是我写的方式。有谁知道我做错了什么?

继承人到目前为止我所拥有的

<?php get_head(); ?>

<?php is_page($page); ?>

<?php is_page('about-us'); ?> {

    <div id="container">
    <?php get_header(); ?>
    <?php get_banner(); ?>

        <div class=" center content" role="main">
            <div id="posts">
                <span class="title">About Us</span>     

                <div class="msghead">
                <?php query_posts('cat=7&showposts=1&orderby=date'); while (have_posts()) : the_post(); the_content(); 
                endwhile;?>
                </div>



             </div>

                   <div id="sidebardiv">
                <?php get_sidebar(); ?> </div>
                <div class="clear"> </div>

          </div>

       </div>
    <?php get_footer(); ?>

    </div>

}

<?php is_page('classes'); ?> {

    <div id="container">
    <?php get_header(); ?>
    <?php get_banner(); ?>

        <div class=" center content" role="main">
            <div id="posts">
                <span class="title">Classes</span>     

                <div class="msghead">
                <?php query_posts('cat=7&showposts=1&orderby=date'); while (have_posts()) : the_post(); the_content(); 
                endwhile;?>
                </div>



             </div>

                   <div id="sidebardiv">
                <?php get_sidebar(); ?> </div>
                <div class="clear"> </div>

          </div>

       </div>
    <?php get_footer(); ?>

    </div>

}

3 个答案:

答案 0 :(得分:2)

更简单的方法是使用is_page('about-us')检查当前页面。

Codex:http://codex.wordpress.org/Function_Reference/is_page

答案 1 :(得分:2)

您实际上没有检查页面,只是运行is_page()功能,然后显示内容。

此外,当您使用The Loop时,您应首先检查是否有要显示的帖子,以避免错误。

就像提示一样 - 如果页面中唯一的区别是显示的帖子,你可以在循环之前设置你的参数,这样你就可以减少很多代码。以下是Pastebin的链接以及该方法的示例,如下所示。此外,如果模板是page.php,那么您正在查看的页面已经在循环中,因此您可以使用它来显示页面标题。这是未经测试的,但应该让你开始。

<?php get_head(); ?>

<?php if(is_page('about-us')) : ?>

    <div id="container">
    <?php get_header(); ?>
    <?php get_banner(); ?>

        <div class=" center content" role="main">
            <div id="posts">
                <span class="title">About Us</span>     

                <div class="msghead">
                <?php
                query_posts('cat=7&showposts=1&orderby=date');
                if(have_posts()) : while (have_posts()) : the_post();
                        the_content(); 
                    endwhile;
                endif;
                ?>
                </div>



             </div>

                   <div id="sidebardiv">
                <?php get_sidebar(); ?> </div>
                <div class="clear"> </div>

          </div>

       </div>
    <?php get_footer(); ?>

    </div>

<?php elseif(is_page('classes')) : ?>

    <div id="container">
    <?php get_header(); ?>
    <?php get_banner(); ?>

        <div class=" center content" role="main">
            <div id="posts">
                <span class="title">Classes</span>     

                <div class="msghead">
                <?php
                query_posts('cat=7&showposts=1&orderby=date');
                if(have_posts()) : while (have_posts()) : the_post();
                        the_content(); 
                    endwhile;
                endif;
                ?>
                </div>



             </div>

                   <div id="sidebardiv">
                <?php get_sidebar(); ?> </div>
                <div class="clear"> </div>

          </div>

       </div>
    <?php get_footer(); ?>

    </div>

<?php endif; ?>

答案 2 :(得分:1)

您错过了if声明。

e.g。

<?php if( is_page('about-us') ): ?>
  <p>about-us page here</p>
<?php elseif( is_page('classes') ): ?>
  <p>classes page here</p>
<?php endif; ?>

更直接的方法是为page-about-us.phppage-classes.php

创建新模板