O pequeno plugin a seguir cria um botão personalizado dentro da linha 1 do WordPress TinyMCE Versão 4, testado no WP Versão 3.9-beta2.
O plug-in tem var_dump
incluído para entender os valores. Também é possível adicionar o botão a outras linhas do editor visual, apenas um outro gancho, como para a linha 2: mce_buttons_2
.
Resultado
Plugin,ladodoPHP-tinymce4-test.php
<?php/***PluginName:TinyMCE4@WPTest*Description:*PluginURI:*Version:0.0.1*Author:FrankBültge*AuthorURI:http://bueltge.de*License:GPLv2*LicenseURI:./assets/license.txt*TextDomain:*DomainPath:/languages*Network:false*/add_action('admin_head','fb_add_tinymce');functionfb_add_tinymce(){global$typenow;//OnlyonPostType:postandpageif(!in_array($typenow,array('post','page')))return;add_filter('mce_external_plugins','fb_add_tinymce_plugin');//Addtoline1formWPTinyMCEadd_filter('mce_buttons','fb_add_tinymce_button');}//InlcudetheJSforTinyMCEfunctionfb_add_tinymce_plugin($plugin_array){$plugin_array['fb_test']=plugins_url('/plugin.js',__FILE__);//PrintallpluginJSpathvar_dump($plugin_array);return$plugin_array;}//AddthebuttonkeyforaddressviaJSfunctionfb_add_tinymce_button($buttons){array_push($buttons,'fb_test_button_key');//Printallbuttonsvar_dump($buttons);return$buttons;}
Script,ladodoJavaScript-plugin.js
(function(){tinymce.PluginManager.add('fb_test',function(editor,url){//Addabuttonthatopensawindoweditor.addButton('fb_test_button_key',{text:'FBTestButton',icon:false,onclick:function(){//Openwindoweditor.windowManager.open({title:'Exampleplugin',body:[{type:'textbox',name:'title',label:'Title'}],onsubmit:function(e){//Insertcontentwhenthewindowformissubmittededitor.insertContent('Title:'+e.data.title);}});}});});})();
Gist
Useo
Links
- API do TinyMCE 4
- Guia de migração do 3.x
- Bilhete do WP Trac
- Fonte padrão do TinyMCE para ícones-fontes
- Ícone alternativo via Dashicon ou Genericons
- Plugins padrão do TinyMCE
- Plugin de compatibilidade - Este plugin contém alguns arquivos de compatibilidade para a antiga ramificação 3.x. Isso permite que você execute os plugins 3.x mais antigos sem nenhuma modificação.