add_angular(); // register angular template cached templates wp_register_script( 'apester_tiny_mce_templates', plugins_url( '/public/js/templates.js', QMERCE__PLUGIN_FILE ) ); wp_enqueue_script( 'apester_tiny_mce_templates' ); // register vendor libraries js wp_register_script( 'apester_tiny_mce_vendor_js', plugins_url( '/public/js/apester_tinymce.vendor.dist.js', QMERCE__PLUGIN_FILE ) ); // register localized scripts - expose data from plugins options into global window parameter wp_localize_script( 'apester_tiny_mce_vendor_js', 'apester_tokens', $js_exposed_data ); // register localized scripts - expose plugin path into global window parameter (for usage angular template's images) wp_localize_script( 'apester_tiny_mce_vendor_js', 'apester_plugin_path', QMERCE_PLUGIN_DIR_RELATIVE ); wp_enqueue_script( 'apester_tiny_mce_vendor_js' ); // register apester font CSS wp_register_style( 'apester_font_css', 'https://s3.amazonaws.com/icomoon.io/53139/Apester/style.css?g82v' ); wp_enqueue_style( 'apester_font_css' ); // register vendor libraries css wp_register_style( 'apester_tiny_mce_vendor_css', plugins_url( '/public/css/apester-tiny-mce.vendor.dist.css', QMERCE__PLUGIN_FILE ) ); wp_enqueue_style( 'apester_tiny_mce_vendor_css' ); // register TinyMce CSS wp_register_style( 'apester_tiny_mce_css', plugins_url( '/public/css/apester-tiny-mce.css', QMERCE__PLUGIN_FILE ) ); wp_enqueue_style( 'apester_tiny_mce_css' ); // register Apester plugin add_filter( 'mce_external_plugins', array( &$this, 'add_tinymce_js_plugin' ) ); // register Apester plugin TinyMCE button add_filter( 'mce_buttons', array( &$this, 'add_tinymce_button' ) ); } /** * Adds a button to the TinyMCE / Visual Editor which the user can click * to insert a custom CSS class. * * @param array $buttons Array of registered TinyMCE Buttons * @return array Modified array of registered TinyMCE Buttons */ function add_tinymce_button( $buttons ) { array_push( $buttons, 'apester_btn' ); return $buttons; } /** * Adds a TinyMCE plugin compatible JS file to the TinyMCE / Visual Editor instance * * @param array $plugin_array Array of registered TinyMCE Plugins * @return array Modified array of registered TinyMCE Plugins */ function add_tinymce_js_plugin( $plugin_array ) { $plugin_array['apester_btn'] = plugins_url( '/public/js/apester_tinymce.dist.js', QMERCE__PLUGIN_FILE ); return $plugin_array; } function add_angular() { wp_register_script( 'angular_cdn', 'https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js' ); wp_enqueue_script( 'angular_cdn' ); } } $apesterTinyMce = new tinyMce();