Adicionar item ao menu TinyMCE personalizado

Criei um menu personalizado que aparece na minha barra de ferramentas TinyMCE, mas gostaria de adicionar outro item a esse menu em uma function separada em outro lugar do meu plugin (dependendo se alguma outra funcionalidade está ativa). Eu esperava que o AddMenuItem pudesse fazer o truque, mas não posso fazer isso acontecer. Eu suspeito que isso poderia ter que ver com o meu “contexto” errado. Alguém pode me dizer se isso é possível?

Aqui está a function que adiciona meu menu personalizado:

(function() { tinymce.PluginManager.add('nto_shortcode_button1', function( editor, url ) { editor.addButton( 'nto_shortcode_button1', { title: 'addShortcode', text: '[shortcode]', type: 'menubutton', icon: 'wp_code', menu: [ { text: 'Issues', value: '[issues]', onclick: function() { editor.insertContent(this.value()); } }, { text: 'Testimonials', value: '[testimonials id="int" limit="int" per_row="int" orderby="string" order="string" category="int" excerpt="bool" content="bool"]', onclick: function() { editor.insertContent(this.value()); } }, { text: 'Button', value: '[button link="string" target="_blank"]Button Text Here[/button]', onclick: function() { editor.windowManager.open( { title: 'Insert [button] shortcode', body: [{ type: 'textbox', name: 'text', label: 'Your button text' }, { type: 'textbox', name: 'destination', text: 'http://', label: 'Destination URL' }, { type: 'checkbox', name: 'target', checked: false, text: 'Open in new window or tab?' }], onsubmit: function( e ) { if( e.data.target == true ) { editor.insertContent( '[button target="_blank" link="http://' + e.data.destination + '"]' + e.data.text + '[/button]'); } else { editor.insertContent( '[button link="http://' + e.data.destination + '"]' + e.data.text + '[/button]'); } } }); } } ] }); }); })(); 

… e aqui está o que eu esperava que mais tarde aparecesse um item adicional nesse menu:

 (function() { tinymce.PluginManager.add('features_shortcode_button', function(editor, url) { editor.addMenuItem('features_shortcode_button', { text: 'Tooltip', icon: false, context: 'nto_shortcode_button1', onclick: function() { editor.insertContent('Hello World!'); } }); }); })(); 

P: É possível empurrar um item para este menu fora da function original? Estou certo ao citar o ‘contexto’ como ‘nto_shortcode_button1’. Posso / devo declarar um atributo de contexto para o meu menu personalizado original? Obrigado.

Solutions Collecting From Web of "Adicionar item ao menu TinyMCE personalizado"

addMenuItem() adiciona a barra de ferramentas de tinymce, que não é usada pelo WP por padrão, e usa context para adicionar ao menu particular (sub). Você está adicionando um MenuButton , e você pode acessar o botão através da matriz de buttons do editor, digitada pelo nome do botão:

 add_action( 'admin_print_footer_scripts', function () { ?>  < ?php } );