我有一个简单的问题。我正在制作Twentyseventeen主题的子主题,我试图覆盖custom_header
代码但是我收到以下错误:
PHP Fatal error: Cannot redeclare twentyseventeen_custom_header_setup() (previously declared in /Applications/MAMP/htdocs/wordpress/wp-content/themes/twentyseventeen/inc/custom-header.php:36) in /Applications/MAMP/htdocs/wordpress/wp-content/themes/twentyseventeen/inc/custom-header.php on line 52
我尝试重命名该功能,因此不会重新声明,但这并没有解决问题。到目前为止,我还没有为我的主题添加任何其他代码。我还模仿目录结构与父主题相同:
资产 的functions.php INC custom_header.php 的index.php ...
以下是我目前的文件:
的functions.php
<?php
function twentyseventeenchild_enqueue_styles(){ $ parent_style ='parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style )
);
}
add_action( 'wp_enqueue_scripts', 'twentyseventeenchild_enqueue_styles' );
/**
* Implement the Custom Header feature.
*/
require get_parent_theme_file_path( '/inc/custom-header.php' );
?>
custom_header.php
<?php
/ ** *自定义标头实现 * * @link https://codex.wordpress.org/Custom_Headers * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * /
/ ** *设置WordPress核心自定义标题功能。 * * @uses twentyseventeen_header_style() * / function twentyseventeen_custom_header_setup(){
/**
* Filter Twenty Seventeen custom-header support arguments.
*
* @since Twenty Seventeen 1.0
*
* @param array $args {
* An array of custom-header support arguments.
*
* @type string $default-image Default image of the header.
* @type string $default_text_color Default color of the header text.
* @type int $width Width in pixels of the custom header image. Default 954.
* @type int $height Height in pixels of the custom header image. Default 1300.
* @type string $wp-head-callback Callback function used to styles the header image and text
* displayed on the blog.
* @type string $flex-height Flex support for height of header.
* }
*/
add_theme_support( 'custom-header', apply_filters( 'twentyseventeen_custom_header_args', array(
'default-image' => get_parent_theme_file_uri( '/assets/images/header.jpg' ),
'width' => 2000,
'height' => 1200,
'flex-height' => true,
'video' => true,
'wp-head-callback' => 'twentyseventeen_header_style',
) ) );
register_default_headers( array(
'default-image' => array(
'url' => '%s/assets/images/header.jpg',
'thumbnail_url' => '%s/assets/images/header.jpg',
'description' => __( 'Default Header Image', 'twentyseventeen' ),
),
) );
}
add_action( 'after_setup_theme', 'twentyseventeen_custom_header_setup' );
?>
答案 0 :(得分:1)
在我发布问题之后。我所要做的就是将此代码添加到我的functions.php
$custom_header_args = array(
'default-image' => get_theme_file_uri( '/assets/images/header.jpg' ),
'width' => 2000,
'height' => 1200,
'flex-height' => true,
'video' => true,
);
add_theme_support('custom-header', $custom_header_args);