Я пытался изменить $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()
,
Вы должны избегать редактирования источника.
В качестве обходного пути, который может обеспечить вам лучший контроль в будущем (скажем, вы хотите изменить метку кнопки на разные вещи в разных обстоятельствах …), вы можете рассмотреть 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
Других решений пока нет …