2012-11-20 25 views
0

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

继承人是我迄今为止

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

} 
+0

我猜你背后有这样做,让你自己的原因,但你有没有想过使用[自定义页面模板(HTTP的创建新的模板: //codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates)?这将允许你拥有你想要的任何页面的任何内容。只需创建一个新模板并从“模板”下拉列表中选择您想要使用该模板的页面。 –

回答

2

你实际上并没有检查的页面,你只是运行is_page()功能,则显示的内容。

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

就像一个提示 - 如果页面中唯一的区别是显示的帖子,你可以在循环之前设置你的参数,这样你就可以截掉很多你的代码。下面是一个指向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; ?> 
+0

谢谢你这就是我失踪,现在它的工作治疗。 –

+0

不客气。我已经用一些技巧更新了我的答案,这应该有助于您减少代码。 –

1

您错过了if声明。

例如

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