自定义标题设置不会显示在Wordpress自定义程序中

时间:2017-10-25 17:54:12

标签: javascript php html wordpress header

customizer.php code

function custom_header_settings($wp_customize){

$wp_customize->add_section( 'header_settings' , array(
    'title'      => 'Header Settings',
    'priority'   => 30,
) );

$wp_customize->add_setting( 'background_color' , array(
    'default'     => '#43C6E4',
    'transport'   => 'refresh',
) );

$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'background_color', array(
    'label'      => 'Background Color',
    'section'    => 'header_settings',
    'settings'   => 'background_color',
) ) );

$wp_customize->add_setting( 'header_textcolor' , array(
    'default'   => '#ffffff',
    'transport' => 'refresh',
) ); 

$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_textcolor', array(
    'label'      => 'Title Color',
    'section'    => 'header_settings',
    'settings'   => 'header_textcolor'
) ) );

$wp_customize->add_setting( 'description_textcolor' , array(
    'default'   => '#ffffff',
    'transport' => 'refresh',
) ); 

$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'description_textcolor', array(
    'label'      => 'Description Color',
    'section'    => 'header_settings',
    'settings'   => 'description_textcolor'
) ) );

$wp_customize->add_setting( 'header_background_image', array(
    'default'   => get_stylesheet_directory_uri() . '/assets/img/test.jpg',
));  

$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'header_background_image', array(
'label'    => __( 'Upload Background Image', 'm1' ),
'section'  => 'header_settings',
'settings' => 'header_background_image',
) ) );

}

add_action( 'customize_register', 'custom_header_settings' );
?>

我正在尝试将自定义标题部分显示在Wordpress上的自定义面板中,但它似乎无法正常工作。我已经尝试重新上传到Filezilla但似乎没有任何工作。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

为了运行你需要调用它的函数:直接在php模板中,或者在这种情况下,通过一个钩子。在你的代码示例中,只有一个函数的定义,所以它只是在那里运行而没有运行。你最后也没有大括号。

Hook非常合适,因为你可以将你的功能附加到它上面,好像你要挂钩它们一样。当使用这个钩子时,它还带有附加功能,因为它们被固定在它上面。我希望这有助于理解这个概念......

所以只需在定义后将此函数添加到钩子中,如下所示:

function custom_header_settings($wp_customize){
    $wp_customize->add_section( 'header_settings' , array(
        'title'      => 'Header Settings',
        'priority'   => 30,
    ) );

    $wp_customize->add_setting( 'background_color' , array(
        'default'     => '#43C6E4',
        'transport'   => 'refresh',
    ) );

    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'background_color', array(
        'label'      => 'Background Color',
        'section'    => 'header_settings',
        'settings'   => 'background_color',
    ) ) );
}
add_action( 'customize_register', 'custom_header_settings' );

最后一行将您的函数custom_header_settings添加到customize_register挂钩,以便在需要时调用它(当您转到自定义程序设置时,调用customize_register挂钩现在它也将运行你的功能)。您可以阅读this page上的详细示例。

您还可以在this page上的Wordpress中阅读有关过滤器和操作(基本上是挂钩)的更多信息。

更新:结果文件没有正确包含在functions.php中(详情请参阅注释)。包括它恰当地解决了这个问题。