2016-11-10 92 views
0

我有一個業務目標,強制我在URL已被確定後嘗試更改全局wordpress查詢,但在模板開始輸出原始帖子上下文中的變量之前。我需要能夠使用插件檢查原始帖子上的某些元值,然後更改查詢以表示另一個帖子對象,以便在不更改網址的情況下顯示不同的數據。在模板之前設置wordpress查詢

我試過使用setup_postdata()什麼似乎無處不在。

(tried including wp_reset_query();) 
global $post; 
$post = get_post(145, OBJECT); 
setup_postdata($post); 

但是,該模板仍在輸出原始查詢。

我接受其他解決方案。提前致謝。

+0

請更多背景。你把這個代碼放在哪裏?在模板中?的functions.php?其他地方?這段代碼如何觸發? –

+0

所以,我已經通過使用query_posts來了解這個問題(請參閱其他答案),但是,無論何時使用頁面,這都會破壞模板。 –

+0

如果您好奇,請參閱下面的答案。我只需要頁面的帖子和page_id。當這些設置正確時,請遵循下面的模板 –

回答

0
add_action('wp_loaded', function(){ 
    query_posts(array('p'=>145,'post_type' =>'any')); 
}); 

這工作得很好。它可以添加到任何地方。但是,它會弄亂頁面模板,並顯示頁面,就好像它們是single.php一樣!如果我可以解決這個問題,那麼我的狀態會很好。幫幫我?

編輯:得到它的工作。我必須檢查和使用p的職位,和page_id的網頁。只要這些設置,模板將遵循正確。否則,它試圖將標準發佈模板應用於頁面。

+0

我猜這可能不是您實際完成之後實現的方式。您應該發佈您的完整答案,因爲您的問題提及檢查元值等。讓我們看看您在做什麼,也許我們可以幫助以更高效/「最佳實踐」的方式做到這一點? –