Files
szkoleniauryzaj.pl/wp-content/plugins/widget-shortcode/includes/class-widget-shortcode-tinymce.php
2024-11-10 21:08:49 +01:00

46 lines
1.3 KiB
PHP

<?php
/**
* Shortcode generator for Widget Shortcode plugin
*
* @package Widget Shortcode
* @since 0.3.4
*/
class Widget_Shortcode_TinyMCE {
private static $instance = null;
/**
* Creates or returns an instance of this class.
*
* @return A single instance of this class.
*/
public static function get_instance() {
return null == self::$instance ? self::$instance = new self : self::$instance;
}
private function __construct() {
add_filter( 'mce_external_plugins', array( $this, 'mce_external_plugins' ) );
add_filter( 'mce_buttons', array( $this, 'mce_buttons' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'editor_parameters' ) );
add_action( 'wp_enqueue_scripts', array( $this, 'editor_parameters' ) );
}
function mce_external_plugins( $plugins ) {
$plugins['widgetShortcode'] = WIDGET_SHORTCODE_URL . 'assets/tinymce.js';
return $plugins;
}
function mce_buttons( $mce_buttons ) {
array_push( $mce_buttons, 'separator', 'widgetShortcode' );
return $mce_buttons;
}
function editor_parameters() {
wp_localize_script( 'editor', 'widgetShortcodeTinyMCE', array(
'title' => __( 'Widget Shortcode', 'widget-shortcode' ),
'widgets' => Widget_Shortcode::get_instance()->get_widgets_list(),
'image' => WIDGET_SHORTCODE_URL . 'assets/widget-icon.png',
) );
}
}