setup_actions(); } return $instance; } /** * Constructor method. * * @since 1.0.0 * @access private * @return void */ private function __construct() {} /** * Sets up initial actions. * * @since 1.0.0 * @access private * @return void */ private function setup_actions() { // Register panels, sections, settings, controls, and partials. add_action( 'customize_register', array( $this, 'sections' ) ); // Register scripts and styles for the controls. add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ), 0 ); } /** * Sets up the customizer sections. * * @since 1.0.0 * @access public * @param object $manager * @return void */ public function sections( $manager ) { get_template_part( '/inc/pro-button/Button'); $manager->register_section_type( Button::class ); $manager->add_section( new Button( $manager, 'manager_attesa_buy_pro', [ 'title' => __( 'Attesa PRO Addon', 'attesa' ), 'button_text' => __( 'More Info', 'attesa' ), 'button_url' => 'https://attesawp.com/attesa-pro/', 'priority' => 1, ] ) ); if ( !class_exists( 'Attesa_extra' ) ) { $manager->add_section( new Button( $manager, 'manager_attesa_get_extra', [ 'title' => __( 'Free Attesa Extra plugin', 'attesa' ), 'button_text' => __( 'Get Attesa Extra', 'attesa' ), 'button_url' => admin_url( add_query_arg( array( 's' => 'attesa+extra', 'tab' => 'search', 'type' => 'term' ), 'plugin-install.php' ) ), 'priority' => 999, ] ) ); } $manager->add_section( new Button( $manager, 'manager_attesa_documentation', [ 'title' => __( 'Need help?', 'attesa' ), 'button_text' => __( 'Theme Documentation', 'attesa' ), 'button_url' => 'https://attesawp.com/docs/', 'priority' => 999, ] ) ); if ( !class_exists( 'Attesa_pro' ) ) { $manager->add_section( new Button( $manager, 'attesa_pro_locked', [ 'title' => __( 'More options with Attesa PRO', 'attesa' ), 'button_text' => __( 'PRO Addon', 'attesa' ), 'button_url' => 'https://attesawp.com/attesa-pro/', 'panel' => 'attesa_themeoptions', 'priority' => 999, ] ) ); } } /** * Loads theme customizer CSS. * * @since 1.0.0 * @access public * @return void */ public function enqueue_control_scripts() { wp_enqueue_script( 'attesa-customize-controls-pro-button', trailingslashit( get_template_directory_uri() ) . 'inc/pro-button/customize-controls.js', array( 'customize-controls' ) ); wp_enqueue_style( 'attesa-customize-controls-pro-button', trailingslashit( get_template_directory_uri() ) . 'inc/pro-button/customize-controls.css' ); } } // Doing this customizer thang! Attesa_Updgrade_Pro_Button::get_instance();