首页 文章

Genesis Child Theme的header.php不会被覆盖

提问于
浏览
1

我安装了Genesis和Genesis主题 . 现在我想做一些自定义,所以我创建了一个子主题并激活它 . 我做了CSS更改,一切正常 . 现在我想覆盖Genesis主题中的header.php文件,所以我已经将header.php文件复制到我的子主题中,希望我能够覆盖父主题header.php . 但是我对child-theme的header.php文件所做的任何更改都不起作用 . 有什么想法我可以覆盖父的header.php文件?

1 回答

  • 0

    从第623行附近的genesis> lib> structure> header.php中的header.php中获取代码,并在你的子主题functions.php文件中修改它,如下所示:

    remove_action('genesis_header','genesis_do_header');
    
    add_action('genesis_header','genesis_custom_header');
    function genesis_custom_header() {
    
    global $wp_registered_sidebars;
    
        genesis_markup( array(
            'open'    => '<div %s>',
            'context' => 'title-area',
        ) );
    
            do_action( 'genesis_site_title' );
            do_action( 'genesis_site_description' );
    
        genesis_markup( array(
            'close'    => '</div>',
            'context' => 'title-area',
        ) );
    
        if ( ( isset( $wp_registered_sidebars['header-right'] ) && is_active_sidebar( 'header-right' ) ) || has_action( 'genesis_header_right' ) ) {
    
            genesis_markup( array(
                'open'    => '<div %s>' . genesis_sidebar_title( 'header-right' ),
                'context' => 'header-widget-area',
            ) );
    
                do_action( 'genesis_header_right' );
                add_filter( 'wp_nav_menu_args', 'genesis_header_menu_args' );
                add_filter( 'wp_nav_menu', 'genesis_header_menu_wrap' );
                dynamic_sidebar( 'header-right' );
                remove_filter( 'wp_nav_menu_args', 'genesis_header_menu_args' );
                remove_filter( 'wp_nav_menu', 'genesis_header_menu_wrap' );
    
            genesis_markup( array(
                'close'   => '</div>',
                'context' => 'header-widget-area',
            ) );
    
        }
    
    }
    

相关问题