2010-11-06 53 views
0

這是一個關於專題框架的問題。如果這不是正確的地方,請忽略這一點。單個帖子的自定義主頁?

我想問一下我該怎麼做?我從父主題複製頁面模板,並將其重命名爲home.php,然後將其設置爲主頁的模板。然後我在functions.php中爲thematic_above_indexloop()添加了一個鉤子,但它似乎不起作用。這裏是我的行動掛鉤:

function show_single_post(){ 
    $i=0; // Initialize to Zero; 
    if (have_posts()) : 
    while (have_posts()) : the_post(); 
    if ($i==0) {$recentpostid = $post->ID; $i=$i+1;} 
    endwhile; 
    endif; 
    //get only the latest post 
    $posts = query_posts('p='.$recentpostid."'"); 
} 
add_action('thematic_above_indexloop', 'show_single_post'); 

不過,如果我直接嵌入該代碼段爲home.php,它的工作原理。我的動作鉤子肯定有問題嗎?我比較新使用鉤子,請賜教。

+0

接受因爲它不看起來像你得到你所需要的,也許你可以在StackExchange的姊妹網站發表您的問題WordPress的回答結果的所有參數? http://wordpress.stackexchange.com – MikeSchinkel 2010-11-07 21:40:02

+0

我在工作解決方案中添加了第二個答案。 – kevtrout 2010-11-08 17:33:20

回答

0

由於hello世界功能的作品,我不得不相信你的功能是問題。

還有一個更簡單的方式來獲得單最新帖子:

function show_single_post(){ 
     query_posts('orderby=ID&order=desc&showposts=1'); 
    } 

    add_action('thematic_above_indexloop', 'show_single_post'); 

我與專題測試這一點,它顯示在主頁上的最後一個職位。試一試。

您可以檢查出由query_postsCodex page

+0

這個工程!非常感謝!問題:$查詢是全局變量的權利?它是查詢對象的處理程序嗎?如果是這樣,你怎麼沒有使用它的功能?不應該是$ query-> query_posts()來代替嗎? – adred 2010-11-09 04:45:18

+0

oops。 $查詢處理程序不應傳遞給函數。那是我的一個老想法。對錯誤感到抱歉。我編輯了刪除的答案。但是,是的,我的理解是$查詢保存$查詢對象。但是,不,你不需要像你所顯示的那樣使用它。 query_posts是一個模板標籤,如the_content()。 – kevtrout 2010-11-09 11:58:13

+0

請參閱http://codex.wordpress.org/Function_Reference/WP_Query瞭解有關$ query和$ WP_Query整體的信息。有時在運行之前直接操作主查詢會很有幫助。 query_posts使用您提供的字符串運行第二個查詢。如果您發現自己永遠不要使用默認的主查詢並不斷地創建自己的查詢,那麼您可能希望直接通過直接使用$ WP_Query類的函數來修改主查詢。祝你好運。 – kevtrout 2010-11-09 12:36:33

0

我對Thematic不熟悉,所以我瀏覽了http://themeshaper.com/thematic/guide/的文檔維基。我無法找到你在那裏參考的動作。它是否從當前版本的框架中刪除?

創建一個簡單的「hellow world」函數來測試鉤子是否被破壞,而您的代碼被破壞。

function hello_world(){ 
    echo "hello world"; 
} 

add_action('thematic_above_indeloop', 'show_single_post'); 

如果您在主頁上看到「hello world」,您將知道掛鉤正在工作。如果沒有,你可以肯定(你可能已經是)你的show_single_post函數沒有被破壞。

+0

不,它存在於實際的主題中。該wiki不完整。是的,你的樣本鉤確實可以工作,但不幸的是我的樣本不會。到目前爲止,沒有人在他們的論壇上有任何錯誤的概念。那個動作鉤子似乎很麻煩...... – adred 2010-11-07 06:52:19

相關問題