Измените $button_labels элемента управления WP_Customize_*_ () в настройщике WordPress.

Я пытался изменить $button_labels из WP_Customize_Image_Control() изменив его источник, измените экземпляры button_labels и переименуйте его.

class WP_Label_Image_Control extends WP_Customize_Upload_Control {
    public $type = 'image';
    public $mime_type = 'image';

    /**
     * Constructor.
     *
     * @since 3.4.0
     * @uses WP_Customize_Upload_Control::__construct()
     *
     * @param WP_Customize_Manager $manager
     * @param string $id
     * @param array  $args
     */
    public function __construct( $manager, $id, $args = array() ) {
        parent::__construct( $manager, $id, $args );

        $this->button_labels = array(
            'select'       => __( 'NEW Select Image' ),
            'change'       => __( 'NEW Change Image' ),
            'remove'       => __( 'NEW Remove' ),
            'default'      => __( 'NEW Default' ),
            'placeholder'  => __( 'NEW No image selected' ),
            'frame_title'  => __( 'NEW Select Image' ),
            'frame_button' => __( 'NEW Choose Image' ),
        );
    }

    // More code here...
}

И позже используйте это как это, но все же, никакая кнопка не изменилась.

$wp_customize->add_control(
        new WP_Label_Image_Control(
                $wp_customize,
                'logo',
                array(
                    'label'       => __( 'Label', 'theme-slug' ),
                    'description' => 'Description here..',
                    'section'     => 'section_id',
                    'settings'    => 'setting_id',
                    )
                )
        );

Я обнаружил, что когда вы устанавливаете $type для другого типа, например "загрузить" или "медиа", метки кнопок будут меняться в зависимости от button_labels набор из WP_Customize_Media_Control(), Но когда вы установите его 'image' ярлыки будут меняться в зависимости от button_labels из WP_Customize_Image_Control(),

1 ответ

Вы должны избегать редактирования источника.

В качестве обходного пути, который может обеспечить вам лучший контроль в будущем (скажем, вы хотите изменить ярлык кнопки на разные вещи в разных обстоятельствах...), вы можете рассмотреть javascript.

<script type="text/javascript">
document.getElementById('CSSID').innerHTML = 'NEW LABEL';
</script>

Вы можете поместить скрипт в нижний колонтитул, используя простую функцию в вашем functions.php:

add_action('wp_footer', new_button_labels)
function new_button_labels() {
// the script above
}

Позже, если вы захотите использовать разный текст для разных страниц / частей страниц, вы можете добавить дополнительный JavaScript-код с различными селекторами CSS для целевых кнопок в разных средах.

Более подробная информация здесь: http://www.tizag.com/javascriptT/javascript-innerHTML.php

Другие вопросы по тегам