通过jQuery将触发html代码片段的按钮添加到tinyMCE编辑器中
我正在为一个应用程序中的Tinymce编辑器工具栏添加一个按钮,该按钮将粘贴到为编辑器中的内容定制的内容表的html代码中 例如,对于编辑器中找到的每个h级别标记(h1-h3),我希望插入一段html(包含目录*)并在目录html片段之前将注释标记粘贴到源标记中 有人能推荐一个关于如何与tinyMCE API交互的示例教程,以便向编辑器添加一个按钮,该按钮触发本地jQuery函数以与编辑器的内容交互吗 我的html片段将是:通过jQuery将触发html代码片段的按钮添加到tinyMCE编辑器中,jquery,tinymce,Jquery,Tinymce,我正在为一个应用程序中的Tinymce编辑器工具栏添加一个按钮,该按钮将粘贴到为编辑器中的内容定制的内容表的html代码中 例如,对于编辑器中找到的每个h级别标记(h1-h3),我希望插入一段html(包含目录*)并在目录html片段之前将注释标记粘贴到源标记中 有人能推荐一个关于如何与tinyMCE API交互的示例教程,以便向编辑器添加一个按钮,该按钮触发本地jQuery函数以与编辑器的内容交互吗 我的html片段将是: <!--nextpage--> <div class
<!--nextpage-->
<div class="toc">
<h3>Table of Contents</h3>
<ul>
<li><a href="http://mysite.com/article-slug/">Introduction</a></li>
<li><a href="http://mysite.com/article-slug/2">First h1-h3 heading</a></li>
<li><a href="http://mysite.com/article-slug/3">Next h1-h3 heading</a></li>
</ul>
</div>
目录
但是jQuery会根据页面URL和h1-h3元素的数量专门为该页面动态生成内容,因此,TOC是根据页面结构为用户动态生成的。只是想让您了解如何在WordPress
tinyMCE
编辑器中添加按钮,并使用该按钮将内容插入编辑器。在这个答案的底部,我提供了我的插件链接,你可以直接下载它,并可以看到源代码
下面的代码是直接从我的WordPress
插件中复制的,我开发了该插件,使用自定义按钮将shortcode
添加到编辑器中。此代码段转到functions.php
add_action( 'init', 'my_js_fiddle_init');
function my_js_fiddle_init() {
if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
return;
}
if ( get_user_option('rich_editing') == 'true' ) {
// call the add_plugin function to register the plugin(js) for tinyMCE
add_filter( 'mce_external_plugins', 'add_plugin' );
// call the function register_button to add a new button in the editor
add_filter( 'mce_buttons', 'register_button' );
}
}
function register_button($buttons) {
array_push( $buttons, "|", "wpjsfiddle" );
return $buttons;
}
function add_plugin($plugin_array) {
//$plugin_array['wpjsfiddle'] = plugins_url('js/wp_js_fiddle.js', __FILE__ );
$plugin_array['wpjsfiddle'] ="tinyMCE_plugin_file";
return $plugin_array;
}
这是你的tinyMCE
插件,创建一个js
文件并将代码放在这个文件中,例如,你可以将它命名为tinyMCE\u plugin\u file.js
,我在add\u plugin
函数中使用了这个名称
(function() {
tinymce.create('tinymce.plugins.wpjsfiddle', {
init : function(ed, url) {
ed.addButton('wpjsfiddle', {
title : 'Insert Js Fiddle',
image : url+'/images/jsfiddle-icon.png',
onclick : function() {
var contentToInsert='this line will be inserted'; // change this
ed.execCommand('mceInsertContent', false, contentToInsert);
}
});
},
createControl : function(n, cm) {
return null;
},
getInfo : function() {
return {
longname : "Wp Js Fiddle",
author : 'Sheikh Heera',
authorurl : 'http://heera.it',
version : "1.0"
};
}
});
tinymce.PluginManager.add('wpjsfiddle', tinymce.plugins.wpjsfiddle);
})();
您还可以从WordPress插件目录中查看源代码。希望对您有所帮助。只是想告诉您如何在WordPresstinyMCE
编辑器中添加一个按钮,并使用该按钮将内容插入编辑器。在这个答案的底部,我提供了我的插件链接,你可以直接下载它,并可以看到源代码
下面的代码是直接从我的WordPress
插件中复制的,我开发了该插件,使用自定义按钮将shortcode
添加到编辑器中。此代码段转到functions.php
add_action( 'init', 'my_js_fiddle_init');
function my_js_fiddle_init() {
if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
return;
}
if ( get_user_option('rich_editing') == 'true' ) {
// call the add_plugin function to register the plugin(js) for tinyMCE
add_filter( 'mce_external_plugins', 'add_plugin' );
// call the function register_button to add a new button in the editor
add_filter( 'mce_buttons', 'register_button' );
}
}
function register_button($buttons) {
array_push( $buttons, "|", "wpjsfiddle" );
return $buttons;
}
function add_plugin($plugin_array) {
//$plugin_array['wpjsfiddle'] = plugins_url('js/wp_js_fiddle.js', __FILE__ );
$plugin_array['wpjsfiddle'] ="tinyMCE_plugin_file";
return $plugin_array;
}
这是你的tinyMCE
插件,创建一个js
文件并将代码放在这个文件中,例如,你可以将它命名为tinyMCE\u plugin\u file.js
,我在add\u plugin
函数中使用了这个名称
(function() {
tinymce.create('tinymce.plugins.wpjsfiddle', {
init : function(ed, url) {
ed.addButton('wpjsfiddle', {
title : 'Insert Js Fiddle',
image : url+'/images/jsfiddle-icon.png',
onclick : function() {
var contentToInsert='this line will be inserted'; // change this
ed.execCommand('mceInsertContent', false, contentToInsert);
}
});
},
createControl : function(n, cm) {
return null;
},
getInfo : function() {
return {
longname : "Wp Js Fiddle",
author : 'Sheikh Heera',
authorurl : 'http://heera.it',
version : "1.0"
};
}
});
tinymce.PluginManager.add('wpjsfiddle', tinymce.plugins.wpjsfiddle);
})();
您还可以从WordPress插件目录中查看源代码。希望能有所帮助。一旦你将页面发送到浏览器,wordpress就变得无关紧要了。。浏览器不知道wordpress的存在。您需要使用tinyMCE API将内容附加到编辑器。使用编辑器API方法获取编辑器后,您可以使用jQuery操作编辑器的现有内容。我将修改问题以避免混淆。您可以在tinyMCE
编辑器中添加按钮,也可以通过该按钮插入新文本或短代码,但我对你的问题感到困惑。我怀疑你能否找到一个来源来回答所有问题。很容易找到如何添加按钮并单击按钮的处理程序。还可以轻松找到如何使用API访问内容。然后需要解析html,这在jQuery中也是相当简单的。建议你们在做了一些家庭作业后完善问题,并在将页面发送到浏览器后启动一些代码..wordpress变得不相关。。浏览器不知道wordpress的存在。您需要使用tinyMCE API将内容附加到编辑器。使用编辑器API方法获取编辑器后,您可以使用jQuery操作编辑器的现有内容。我将修改问题以避免混淆。您可以在tinyMCE
编辑器中添加按钮,也可以通过该按钮插入新文本或短代码,但我对你的问题感到困惑。我怀疑你能否找到一个来源来回答所有问题。很容易找到如何添加按钮并单击按钮的处理程序。还可以轻松找到如何使用API访问内容。然后需要解析html,这在jQuery中也是相当简单的。建议你在做了一些家庭作业并开始编写一些代码后完善问题