2015-08-15 82 views
0

我想顯示一個自定義的邊欄,如果頁面是3頁(所有自定義帖子類型)之一,我似乎無法弄清楚如何使這成爲可能。我已經在functions.php中正確的註冊了「Custom Sidebar」。如何在多個頁面上調用此邊欄,然後在其他頁面上顯示常規邊欄?WordPress在特定帖子上的顯示邊欄

enter code here 



    <?php 
    if(is_singular('5894')) { 
     get_sidebar('Custom Sidebar');  } 
    else{ 
     get_sidebar(); //get sidebar.php 
    } 
?> 

回答

0

按照WP Codex你應該能夠使用像

is_singular('book'); 

其中book是你的自定義文章類型的名稱。


如果此操作無法按預期方式進行,請嘗試在您的模板文件中放置另一個 Conditional Tag。也許你也在尋找 is_page_template
如果你想獲得您的模板文件的詳細信息,將某種類似的代碼在它下面:

global $page; 
var_dump($page); 


編輯:

由於OP的評論,我認爲他在尋找pre_get_posts - filter

您的代碼可能類似於以下內容:

function exclude_ids_from_search_query($query) { 
    global $page; //perhaps you have to check for the pagename in if-statement 

    if ($query->is_home() && $query->is_main_query()) : //e.g. check for pagename, post_type, etc... 
     $ids = array(10, 12, 66, 70); //Post ID's included in search 
     $query->set('post__in', $ids); 
    endif; 

    return $query; 
} 

add_action('pre_get_posts', 'exclude_ids_from_search_query'); 
+0

感謝您的快速回復!我想我可能沒有明確提出這個問題。我只想定位**自定義帖子類型中的某些**帖子。能夠在代碼中輸入帖子ID並以此目標進行定位是非常好的。這可能嗎? – user1214812

+0

@ user1214812你現在工作了嗎? – pbaldauf

相關問題