eATM

关于WordPress经典编辑器(TinyMCE)插件在Elementor中不能用的解决方式

关键PHP代码

				
					// 添加表情按钮
function mce_button($buttons)
{
	array_push($buttons, 'easy_emoji'); // 添加 'smiley' 按钮到 TinyMCE 编辑器中
	return $buttons;
}
//add_filter('mce_buttons', 'mce_button',999);	//mce_buttons会被Elementor清除掉,所以用下面第2行工具栏
add_filter('mce_buttons_2', 'mce_button', 999);	//第2行工具栏


//让前台的TinyMCE加载时,能加载自己的js代码
function mce_javascript($plugin_array)
{
	//主脚本
	$plugin_array['easy_emoji'] = plugins_url('/plugin.js', __FILE__); // 指定表情插件的 js 文件路径

	//数据文件
	$smilies = getImageJson();
	$dataStr='window.easy_emoji_json_data = ' . json_encode($smilies);
	file_put_contents(plugin_dir_path(__FILE__).'/data.js', $dataStr);
	$plugin_array['easy_emoji_data'] = plugins_url('/data.js', __FILE__);

	return $plugin_array;
}
add_filter('mce_external_plugins', 'mce_javascript', 999, 1);
				
			

关于CSS样式文件.

CSS样式我认了,怎么添加都在Elementor中的TinyMCE中不生效 

最后改为在js中动态加载CSS文件.

				
					function loadCSS() {
    let url = "/wp-content/plugins/easy-emoji/plugin.css"
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = url;
    document.getElementsByTagName('head')[0].appendChild(link);
}
// 加载 CSS 文件
loadCSS();
				
			

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注