2017-04-18 89 views
0

我想獲得一個不同的側邊欄來加載一個特定的父頁的子頁面,而不使用插件或設置另一個模板文件。替換側邊欄爲沒有插件的子頁面

這是我到目前爲止有:

register_sidebars(1, array(
'name' => 'Other Sidebar', 
'id' => "other-sidebar", 
'before_widget' => '<li class="widget">', 
'after_widget' => '</li>', 
'before_title' => '<span class="widgettitle">', 
'after_title' => '</span>' 
)); 

if ($post->post_parent == '1164') { 
dynamic_sidebar('other-sidebar'); 
} 

但我想知道如果我需要使用某種形式的過濾器,以取代被加載,而不是默認的側邊欄?不太確定這是否正確。

回答

1

由於您可以編輯主題(或兒童主題),因此您可以添加一個Page Template,它可以用您想要的自定義邊欄覆蓋當前頁面模板。

<?php 
/* 
Template Name: Custom Sidebar Page // All versions 
Template Post Type: page // 4.7+ only 
*/ 

// Page code here with the sidebar you want... 
?> 

<aside id="secondary" class="widget-area" role="complementary"> 
    <?php dynamic_sidebar('other-sidebar'); ?> 
</aside><!-- #secondary --> 

然後,在您的頁面的編輯和它的子頁面中,將此模板設置爲所需的模板。

+0

嗯,嗯,我試圖設置它不使用另一個模板頁面,因爲這可能會弄亂父主題內的東西。但如果有的話,我可能必須這樣做。 – ultraloveninja

+0

複製父主題頁面模板的內容,然後替換所需的部分。你也可以取消註冊默認的側邊欄並註冊你的名字,但是這會在任何地方刪除默認的側邊欄。 –

+0

對,我只想用新的邊欄替換當前的邊欄,並且只在特定的頁面上。 – ultraloveninja

相關問題