我安装了Genesis和Genesis主题。现在我想做一些自定义,所以我创建了一个子主题并激活了它。我做了CSS更改,一切正常。现在我想覆盖Genesis主题中的header.php文件,所以我已经将header.php文件复制到我的子主题中,希望我能够覆盖父主题header.php。但是我对child-theme的header.php文件所做的任何更改都不起作用。有什么想法我可以覆盖父的header.php文件吗?
答案 0 :(得分:0)
从genesis中的header.php中获取代码&gt; lib&gt; <结构> header.php在第623行附近并在你的子主题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',
) );
}
}
答案 1 :(得分:0)
通常创世主题的标头都有此代码
/**
* 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' );
您必须像这样更改它。
/**
* 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中添加这样的自定义标头。
add_action( 'my_custom_header', 'my_custom_header');
function my_custom_header() { ?> <header> Your header code </header><?php } ?>