duanjuda5789 2018-03-23 19:25
浏览 48
已采纳

wordpress取消注册父主题侧边栏在儿童主题不工作

I see very plainly how the parent theme is registering the widget area (in parent theme's functions.php file):

add_action( 'widgets_init', 'theme_widgets_init' );
function theme_widgets_init(){
    register_sidebar( array (
        'name' => __( 'Sidebar Widget Area', 'text-domain' ),
        'id' => 'primary-widget-area',
        'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
        'after_widget' => "</li>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
    ) );
}

In simple theory, I don't know why this code (in the child theme folder's functions.php file) is not killing the sidebar widget area from displaying in the backend in Appearance > Widgets:

add_action( 'widgets_init', 'unregister_parent_sidebar' );
function unregister_parent_sidebar(){
    unregister_sidebar( 'primary-widget-area' );
}
  • 写回答

1条回答 默认 最新

  • dqcd84732 2018-03-24 11:09
    关注

    You need to give higher weight to un-register sidebars. See 3rd argument in add_action function.

        function unregister_widgets_area(){
    
            // Unregister some of the sidebars
            unregister_sidebar( 'first-widget-area' );
            unregister_sidebar( 'second-widget-area' );
            unregister_sidebar( 'third-widget-area' );
        }
    
        add_action( 'widgets_init', 'unregister_widgets_area', 11 );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?