首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创世子主题的header.php未覆盖

创世子主题的header.php未覆盖
EN

Stack Overflow用户
提问于 2017-02-17 06:52:35
回答 2查看 1.5K关注 0票数 1

我有创世纪和一个创世纪主题安装。现在我想做一些定制,所以我已经创建了一个子主题并激活了它。我已经做了CSS的更改,一切都正常。现在,我想要覆盖创世主题中的header.php文件,所以我将header.php文件复制到我的子主题中,希望能够覆盖父主题header.php。但是,我对子主题的header.php文件所做的任何更改都不起作用。你知道怎么重写父母的header.php文件吗?

EN

回答 2

Stack Overflow用户

发布于 2017-03-14 15:32:42

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

代码语言:javascript
复制
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',
        ) );

    }

}
票数 0
EN

Stack Overflow用户

发布于 2019-09-20 20:45:25

通常,genesis主题的标题具有以下代码

代码语言:javascript
复制
/**
 * Fires immediately after the site container opening markup, before `genesis_header` action hook.
 *
 * @since 1.0.0
 */
do_action( 'genesis_before_header' );

/**
 * Fires to display the main header content.
 *
 * @since 1.0.2
 */
do_action( 'genesis_header' );

/**
 * Fires immediately after the `genesis_header` action hook, before the site inner opening markup.
 *
 * @since 1.0.0
 */
do_action( 'genesis_after_header' );

你必须像这样改变它。

代码语言:javascript
复制
/**
 * Fires immediately after the site container opening markup, before `genesis_header` action hook.
 *
 * @since 1.0.0
 */
do_action( 'genesis_before_header' );

/**
 * Fires to display the main header content.
 *
 * @since 1.0.2
 */
do_action( 'my_custom_header' );

/**
 * Fires immediately after the `genesis_header` action hook, before the site inner opening markup.
 *
 * @since 1.0.0
 */
do_action( 'genesis_after_header' );

现在,在function.php或header.php中添加您的自定义标题,如下所示。

代码语言:javascript
复制
add_action( 'my_custom_header', 'my_custom_header');
function my_custom_header() { ?> <header> Your header code </header><?php } ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42286233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档