我做了很多搜索,也解决了这些问题;
标准wdiget等级;
class tinyMCE_add_than_affter extends WP_Widget {
public function __construct() {
/*addscript*/
add_action(\'admin_enqueue_scripts\', array($this => \'add_tinymce_script_css_plugin\'));
$widget_options = array(
\'classname\' => \'tinymce_widget\',
\'description\' => \'TinyMCE Editor\',
);
parent::__construct(\'\', \'Tiny MCE Editor\', $widget_options);
}
/*****Important******/
function add_tinymce_script_css_plugin($hook) {
if (\'widgets.php\' == $hook):
$baseurl = includes_url(\'js/tinymce\');
$cssurl = includes_url(\'css/\');
$pluginurl = includes_url(\'js/tinymce/plugins/\');
$widgettinymcejsurl = plugins_url();
$pluginnames = [
\'compat3x\',
\'wordpress\',
\'textcolor\',
\'colorpicker\'
];
global $tinymce_version;
$version = \'ver=\' . $tinymce_version;
$css = $cssurl . \'editor.css\';
wp_register_script(\'tinymce_script_add\', "{$baseurl}/tinymce.min.js?$version", array(\'jquery\'), false, TRUE);
wp_enqueue_script(\'tinymce_script_add\');
foreach ($pluginnames as $name) {
wp_register_script("tinymce_script_plugin_add_{$name}", "{$pluginurl}/{$name}/plugin.min.js?$version", array(\'jquery\'), false, TRUE);
wp_enqueue_script("tinymce_script_plugin_add_{$name}");
}
wp_register_style(\'tinymce_css\', $css);
wp_enqueue_style(\'tinymce_css\');
/*my script for tinyMCE active*/
wp_register_script(\'tinymce_widget_script_add\', "{$widgettinymcejsurl}/widget_form_tinymce.js", array(\'jquery\'), false, TRUE);
wp_enqueue_script(\'tinymce_widget_script_add\');
endif;
}
public function widget($args, $instance) {
//some code
}
public function form($instance) {
$rand = rand(0, 999);
$ed_id = $this->get_field_id(\'tinymce_textarea\' . $rand);
$ed_name = $this->get_field_name(\'tinymce_textarea\' . $rand);
$rand_id=$this->get_field_id(\'rand\');
$rand_name=$this->get_field_name(\'rand\');
extract($instance,EXTR_SKIP);
?>
<label for="<?php esc_attr_e($ed_id); ?>">
<?php _e("TinyMCE editor"); ?>
</label>
<textarea name="<?php esc_attr_e($ed_name); ?>" id="<?php esc_attr_e($ed_id); ?>" cols="30" rows="10">
<?php _e($tinymce_textarea); ?>
</textarea>
<input type="hidden" id="<?php esc_attr_e($rand_id); ?>" name="<?php esc_attr_e($rand_name); ?>" />
<?php
}
public function update($newInstance, $oldInstance) {
$rand=$newInstance[\'rand\'];
$instance[\'tinymce_textarea\']=$newInstance[\'tinymce_textarea\'.$rand];
return $instance;
}
}
我们安排widget\\u form\\u tinymce。js公司
jQuery(function ($) {
var options={
selector: \'textarea[id*=tinymce_textarea]\',
height: 200,
theme: \'modern\',
plugins: ["textcolor colorpicker"],
toolbar1: \'bold,italic,underline,bullist,numlist,link,unlink,forecolor,undo,redo,alignleft,aligncenter,alignright,alignjustify,styleselect,formatselect,fontselect,fontsizeselect,fullscreen,forecolor,backcolor,textcolorselect\'
};
tinyMCE.init(options);
$(document).find(\'input[id*=savewidget]\').hover(function () {
tinyMCE.triggerSave();
});
$(document).on(\'widget-updated\', function (event, $widget) {
tinyMCE.remove();
tinyMCE.init(options);
});
}
祝你好运。