Ich muss Text in den Hauptteil des Artikels einfügen, der sich in ein "Side-Tag" verwandelt, indem er in einige div-Tags mit benutzerdefinierten Klassen eingeschlossen wird.
Ich habe in tinymce eine benutzerdefinierte Schaltfläche erstellt, die ein neues Fenster mit einem Textfeld öffnet. Sie schreiben den Text und wenn Sie auf OK klicken, werden die Div-Tags begin und endig hinzugefügt und in den wp-Editor eingefügt, in dem sich Ihr Cursor befand.
Hier ist der Code:
(function () {
tinymce.PluginManager.add('custom_mce_button2', function(editor, url) {
editor.addButton('custom_mce_button2', {
icon: false,
text: 'Side Tag',
onclick: function (e) {
editor.windowManager.open( {
title: 'Insert a Sidetag',
body: [{
type: 'textbox',
name: 'title',
placeholder: 'Type the side tag content here.',
multiline: true,
minWidth: 700,
minHeight: 50,
},
{
type: 'button',
name: 'link',
text: 'Insert/Edit link',
onclick: function( e ) {
//get the Wordpess' "Insert/edit link" popup window.
},
}],
onsubmit: function( e ) {
editor.insertContent( '<div class="side-tag-wrap hidden-xs"><div class="side-tag">' + e.data.title + '</div></div>');
}
});
}
});
});
})();
Und was es tut:
Bisher funktioniert alles, aber ... Ich möchte auch Links hinzufügen können, während das Popup-Fenster noch geöffnet ist, genau wie die Schaltfläche "Link einfügen / bearbeiten" des Standardeditors funktioniert. Ich weiß, wie man das Link-Plugin von tinymce benutzt, aber das hilft nicht. Ich möchte hauptsächlich bereits veröffentlichte Beiträge verlinken, daher benötige ich Folgendes:
Gibt es eine Möglichkeit, diese Schaltfläche in meinem benutzerdefinierten Popup-Fenster aufzurufen oder die Quicktags-Funktion aufzurufen?
Antworten:
Also beantworte ich meine eigene Frage für diejenigen, die vor dem gleichen Problem stehen oder stehen werden.
Ich habe zwei Schaltflächen hinzugefügt. Man öffnet das eingebaute Fenster von WordPress, um einen Beitrag auszuwählen und den Link einzufügen. Das andere öffnet das integrierte Medienfenster von WordPress, um ein Bild auszuwählen. Das ist es, was du am Ende irgendwie bekommst.
Sie benötigen zwei PHP-Funktionen und eine JS-Funktion in einer separaten Datei. Fügen Sie in der Datei functions.php oder wo immer Sie Ihre benutzerdefinierten Funktionen haben, Folgendes hinzu:
Und die JS-Datei.
Ich hoffe das wird einigen von euch helfen ..
quelle