45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	exit; // No direct access, please.
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'WP_Customize_Control' ) ) {
 | 
						|
	return;
 | 
						|
}
 | 
						|
 | 
						|
if ( ! class_exists( 'GeneratePress_Action_Button_Control' ) ) {
 | 
						|
	/**
 | 
						|
	 * Add a button which needs javascript attached to it.
 | 
						|
	 */
 | 
						|
	class GeneratePress_Action_Button_Control extends WP_Customize_Control {
 | 
						|
		public $type = 'gp_action_button';
 | 
						|
		public $data_type = '';
 | 
						|
		public $description = '';
 | 
						|
		public $nonce = '';
 | 
						|
 | 
						|
		public function enqueue() {
 | 
						|
			wp_enqueue_script( 'gp-button-actions', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'js/button-actions.js', array( 'customize-controls' ), GP_PREMIUM_VERSION, true );
 | 
						|
			wp_enqueue_style( 'gp-button-actions', trailingslashit( plugin_dir_url( __FILE__ ) ) . 'css/button-actions.css', array(), GP_PREMIUM_VERSION );
 | 
						|
		}
 | 
						|
 | 
						|
		public function to_json() {
 | 
						|
			parent::to_json();
 | 
						|
 | 
						|
			$this->json['data_type'] = $this->data_type;
 | 
						|
			$this->json['description'] = $this->description;
 | 
						|
			$this->json['nonce'] = $this->nonce;
 | 
						|
		}
 | 
						|
 | 
						|
		public function content_template() {
 | 
						|
			?>
 | 
						|
			<button class="button" data-type="{{{ data.data_type }}}" data-nonce="{{{ data.nonce }}}">{{{ data.label }}}</button>
 | 
						|
			<# if ( data.description ) { #>
 | 
						|
				<span class="description customize-control-description">
 | 
						|
					<p>{{{ data.description }}}</p>
 | 
						|
				</span>
 | 
						|
			<# } #>
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |