2011-07-28 106 views
0

我已經構建了一個自定義page.php模板。很簡單,主要有:頁面模板,單頁顯示

<?php get_header(); ?> 

<?php get_sidebar(); ?> 

<?php the_post(); ?> 

<h1><?php the_title(); ?></h1> 

<?php get_footer(); ?> 

我創建了幾頁,如果我訪問他們的網址,我只是得到相同的頁面標題。

我在文檔中讀過,它說只有在「循環」時才使用the_title()等。

所以可能,我只是被顯示在「數組」的第一頁。

有沒有什麼方法可以根據網址獲取單個頁面的內容?

編輯:其實我應該甚至需要這樣做嗎?參考示例模板,它看起來像我做的一切正確嗎?

回答

0

對於自定義頁面模板,請使用以下方法來得到一切正確

<?php 
/* Template name: My custom template */ 

get_header(); 


    if (have_posts()) while (have_posts()) : the_post(); 

the_title(); 
the_content() 

endwhile; 
get_sidebar(); 
get_footer(); 
?> 
+0

嘿,謝謝你的回答。事實證明,這是一個自定義的查詢,它正在清理我的帖子對象。不幸的是,我必須在「循環」之前移動get_sidebar(),因爲這就是我的CSS浮動工作方式(我知道它從SEO角度來看並不理想) - 當我這樣做時,由於側邊欄代碼中的錯誤,好好工作。 – Stephen

1

在我的側欄我使用的是自定義查詢。

這是在嘗試訪問主頁面內容之前調用的,無需重新設置。

在做自定義查詢您完成後,你的循環一樣,所以你必須重置:

$originalPost = $post; 
$sidePosts = get_posts($queryArgs); 
foreach($sidePosts as $post) { 
    setup_postdata($post); 
    // echo it out like a normal post. 
} 
$post = $originalPost; 

,或者如果你正在使用query_posts()(你不應該在一個側邊欄):

wp_reset_query(); 

這會將您的帖子恢復爲之前的值。