Custom Control olarak TinyMCE ekledim ancak JavaScript kodlarını kaydettiremiyorum. Bunu nasıl yapabilirim acaba? Ya da JavaScript reklam kodlarını destekleyen bir alternatif ne kullanabilirim?
Şöyle oluyor:
Kaydetmek istediğim:
Kaydedilen:
Custom Control kodları şu şekilde: $wp_customize->add_setting( 'laura_ads_shortcode',
array(
'default' => $this->defaults['laura_ads_shortcode'],
'transport' => 'postMessage',
'sanitize_callback' => 'wp_kses_post'
)
);
$wp_customize->add_control( new Laura_TinyMCE_Custom_control( $wp_customize, 'laura_ads_shortcode',
array(
'label' => __( '[ads1] <-- Shortcode', 'laura' ),
'description' => __('The usage areas of this ad [ads1] are in shortcode use.', 'laura' ),
'section' => 'laura_ads_shortcode',
'input_attrs' => array(
'toolbar1' => 'bold italic bullist numlist aligncenter alignright link',
'mediaButtons' => true,
)
)
));TinyMCE Custom Control kodları şu şekilde: class Laura_TinyMCE_Custom_control extends Laura_Custom_Control {
public $type = 'tinymce_editor';
public function enqueue(){
wp_enqueue_script( 'laura-custom-controls-js', $this->get_laura_resource_url() . 'assets/js/customizer.js', array( 'jquery' ), '1.0', true );
wp_enqueue_style( 'laura-custom-controls-css', $this->get_laura_resource_url() . 'assets/css/customizer.css', array(), '1.0', 'all' );
wp_enqueue_editor();
}
public function to_json() {
parent::to_json();
$this->json['lauratinymcetoolbar1'] = isset( $this->input_attrs['toolbar1'] ) ? esc_attr( $this->input_attrs['toolbar1'] ) : 'bold italic bullist numlist alignleft aligncenter alignright link';
$this->json['lauratinymcetoolbar2'] = isset( $this->input_attrs['toolbar2'] ) ? esc_attr( $this->input_attrs['toolbar2'] ) : '';
$this->json['lauramediabuttons'] = isset( $this->input_attrs['mediaButtons'] ) && ( $this->input_attrs['mediaButtons'] === true ) ? true : false;
}
public function render_content(){
?>
<div class="tinymce-control">
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
<?php if( !empty( $this->description ) ) { ?>
<span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span>
<?php } ?>
<textarea id="<?php echo esc_attr( $this->id ); ?>" class="customize-control-tinymce-editor" <?php $this->link(); ?>><?php echo esc_html( $this->value() ); ?></textarea>
</div>
<?php
}
}