我不会用unregister_sidebar
我会复制侧边栏的内容。将php文件添加到插件,并将条件添加到默认侧栏-2,以及在该文件中添加新的侧栏-4,并为其添加条件。
<?php
if( is_active_sidebar( \'sidebar-4\' ) && is_singular(\'your-cpt\') ) {
}
?>
<div id="content-sidebar" class="content-sidebar widget-area" role="complementary">
<?php dynamic_sidebar( \'sidebar-4\' ); ?>
</div><!-- #content-sidebar -->
您还需要添加一个函数。php或插件。php文件,其中包含注册新边栏-4的代码,非常类似于使用子主题所做的操作。
function cpt_widget() {
register_sidebar( array(
\'name\' => __( \'Custom Post Type Sidebar\', \'twentyfourteen\' ),
\'id\' => \'sidebar-4\',
\'description\' => __( \'Appears on the right for cpts pnly.\', \'twentyfourteen\' ),
\'before_widget\' => \'<aside id="%1$s" class="widget %2$s">\',
\'after_widget\' => \'</aside>\',
\'before_title\' => \'<h1 class="widget-title">\',
\'after_title\' => \'</h1>\',
) );
}
add_action( \'widgets_init\', \'cpt_widget\' );
您还可以创建一个cpt。php文件,并在其中添加边栏4。