我有创世纪和一个创世纪主题安装。现在我想做一些定制,所以我已经创建了一个子主题并激活了它。我已经做了CSS的更改,一切都正常。现在,我想要覆盖创世主题中的header.php文件,所以我将header.php文件复制到我的子主题中,希望能够覆盖父主题header.php。但是,我对子主题的header.php文件所做的任何更改都不起作用。你知道怎么重写父母的header.php文件吗?
发布于 2017-03-14 15:32:42
从genesis > lib > structure > header.php中的第623行附近的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',
) );
}
}发布于 2019-09-20 20:45:25
通常,genesis主题的标题具有以下代码
/**
* 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 } ?>https://stackoverflow.com/questions/42286233
复制相似问题