Измените $ 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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]