2012-11-20 57 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