向主题定制器控件添加说明

时间:2013-03-10 作者:Andrew

如何向添加描述$wp_customize->add_control? 我发现我真的需要对一些控件进行简短的描述,但这似乎是不可能的。

我注意到您可以在$wp_customize->add_section 但这只是一个工具提示。

这是我理想的想法,但不确定如何输出,以及这是否可行:

$wp_customize->add_control( \'theme_options[some_option_name]\', array(
    \'label\'   => \'This Is Some Option\',
    \'section\' => \'theme_name_section\',
    \'type\'    => \'text\',
    \'description\' => \'Wish this existed\', // this isn\'t possible
));

3 个回复
最合适的回答,由SO网友:birgire 整理而成

这里有一种方法可以通过扩展要使用的控件来实现。

下面是一个扩展文本控件并添加额外描述的示例,如屏幕截图上所示:

enter image description here

function mytheme_customizer( $wp_customize ) {
    class Custom_Text_Control extends WP_Customize_Control {
        public $type = \'customtext\';
        public $extra = \'\'; // we add this for the extra description
        public function render_content() {
        ?>
        <label>
            <span><?php echo esc_html( $this->extra ); ?></span>
            <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
            <input type="text" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
        </label>
        <?php
        }
    }
    $wp_customize->add_section(\'customtext_section\', array(
            \'title\'=>__(\'My Custom Text\',\'mytheme\'),
        )
    );     
    $wp_customize->add_setting(\'mytheme_options[customtext]\', array(
            \'default\' => \'\',
            \'type\' => \'customtext_control\',
            \'capability\' => \'edit_theme_options\',
            \'transport\' => \'refresh\',
        )
    );
    $wp_customize->add_control( new Custom_Text_Control( $wp_customize, \'customtext_control\', array(
        \'label\' => \'My custom Text Setting\',
        \'section\' => \'customtext_section\',
        \'settings\' => \'mytheme_options[customtext]\',
        \'extra\' =>\'Here is my extra description text ...\'
        ) ) 
    );
}
add_action( \'customize_register\', \'mytheme_customizer\' ,10,1);
检查WP_Customize_Control 类别:

https://github.com/WordPress/WordPress/blob/master/wp-includes/class-wp-customize-control.php

希望这有帮助。

SO网友:Philip Arthur Moore

对于任何在WordPress 4.0发布后遇到此问题的人,不再需要自定义控件。此功能直接嵌入到WordPress中:https://core.trac.wordpress.org/ticket/27981.

SO网友:JPollock

description参数在控件下添加描述。如果要在控件标题上方添加一些内容,如额外的标题或其他内容,可以使用customize_render_control_{id} 行动例如,如果要在id为的控件上方添加按钮hi_shawn 您可以这样做:

add_action( \'customize_render_control_hi_shawn\', function(){
    printf( \'<a href="%s">%s</a>\', \'http://hiroy.club\', __( \'Hi Shawn\', \'text-domain\' ) );
});

结束

相关推荐