it-swarm.com.de

Benutzerdefinierter Shortcode und Schaltfläche funktionieren nach dem 3.9-Update nicht mehr

Ich habe eine neue Schaltfläche hinzugefügt, die einen kurzen Code erstellt, aber es scheint, dass nach dem neuesten WordPress-Update die Schaltfläche nicht mehr funktioniert. Die Schaltfläche ist sichtbar, aber wenn jemand darauf klickt, passiert nichts.

Der Code, den ich verwendet habe, ist der folgende- js Teil

(function() {
tinymce.create('tinymce.plugins.affiliate', {
    init : function(ed, url) {
        ed.addButton('affiliate', {
            title : 'Add Affiliate Link',
            cmd : 'Affiliate link',
            image : url+'/euro.png',
            onclick : function() {
                 ed.selection.setContent('[aff afftitle="" afflink=""]' + ed.selection.getContent() + '[/aff]');

            }
        });
    },
    createControl : function(n, cm) {
        return null;
    },
});
tinymce.PluginManager.add('affiliate', tinymce.plugins.affiliate);
})();

Ich habe auch Code für den Teil PHP geschrieben, bin mir aber nicht sicher, ob das Problem vorliegt. Ich denke, dass das Problem im obigen JavaScript liegt.

Ι wissen, dass createControl nicht mehr existiert. Ich versuche, dieses Problem zu umgehen, habe aber derzeit kein Glück.

3
Archimidis M

Versuchen Sie es wie folgt:

<script type="text/javascript">
    tinymce.init({
    selector: "textarea",
    toolbar: "mybutton",
    setup: function(editor) {
        editor.addButton('mybutton', {
            type: 'splitbutton',
            text: 'My button',
            icon: false,
            onclick: function() {
                editor.insertContent('Main button');
            },
            menu: [
                {text: 'Menu item 1', onclick: function() {
                                  tinyMCE.activeEditor.execCommand("myPopup", false, {
                                      title: 'Divider',
                                      identifier: 'divider'
                              })}},
                {text: 'Menu item 2', onclick: function() {editor.insertContent('Menu item 2');}}
            ]
        });
    }
    });
1

Leider hatte ich das gleiche Problem und musste mein Plugin neu schreiben. See this TinyMCE Fiddle

Ich habe ein Beispiel erstellt, um eine Schaltfläche zum Einfügen eines Shortcodes (Auswahl einfügen oder umbrechen) hinzuzufügen.

tinymce.PluginManager.add('example', function(editor, url) {
// Add a button that insert a shortcode
editor.addButton('example', {
    text: 'Custom Button',
    icon: false,
    onclick: function() {
        // Do something...
        if (editor.selection.getContent())
        {
            editor.selection.setContent('[aff afftitle="" afflink=""]' + editor.selection.getContent() + '[/aff]');
        }
        else
        {
            editor.selection.setContent('[aff afftitle="" afflink=""]Your text here...[/aff]');
        }
    }
});

});

Grüße

1
MavBzh