array( 'type' => 'checkbox', 'options' => array( 'on' => __( 'Enabled' ), ), 'page' => 'eoi_powerups', 'title' => __( 'Custom CSS' ), 'description' => sprintf( '

%s

', __( 'Adds a setting that lets you add custom CSS to your opt-in box to the Optin Cat form editor.' ) ), ) ) ); if( ! paf( 'eoi_powerup_custom_css' ) ) { return; } new EoiCustomCssBox( $settings ); } class EoiCustomCssBox { var $settings; public function __construct( $settings ) { $this->settings = $settings; add_action( 'fca_eoi_powerups', array( $this, 'show_custom_css_field' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) ); add_action( 'admin_print_footer_scripts', array( $this, 'enqueue_admin_footer_js' ) ); add_filter( 'fca_eoi_alter_form', array( $this, 'append_css_to_form' ) , 10 , 2 ); } public function init() { } public function append_css_to_form( $content , $fca_eoi_meta ) { if( $css = K::get_var( 'custom_css', $fca_eoi_meta ) ) { $content .= ""; } return $content; } /* * Add fieldset custom css box */ public function show_custom_css_field( $fca_eoi_meta ) { echo '
'; K::textarea( 'fca_eoi[custom_css]' , array( 'class' => 'fca_eoi_custom_css_textbox', 'placeholder' => __( 'Enter your custom CSS here...' ), ) , array( 'value' => K::get_var( 'custom_css', $fca_eoi_meta, '' ), 'format' => '
:textarea', ) ); echo '
'; } public function enqueue_admin_scripts() { wp_enqueue_style( 'powerups-css', $this->settings['plugin_url'] . '/assets/powerups/fca_eoi_powerups.css' ); $protocol = is_ssl() ? 'https' : 'http'; $screen = get_current_screen(); // Exit function if not in one of our plugin pages if( 'easy-opt-ins' !== $screen->id ){ return; } // Enqueue CodeMirror JS and CSS $codemirror_prefix = "$protocol://cdnjs.cloudflare.com/ajax/libs/codemirror/4.7.0/"; $codemirror_js = array( 'codemirror' => 'codemirror.min.js', 'codemirror-css' => 'mode/css/css.min.js', 'codemirror-placeholder' => 'addon/display/placeholder.min.js', ); foreach ( $codemirror_js as $handle => $path) { wp_enqueue_script( $handle, $codemirror_prefix . $path ); } wp_enqueue_style('codemirror', $codemirror_prefix . 'codemirror.min.css' ); } public function enqueue_admin_footer_js() { ?>