Shortcake (Shortcode UI)
Contributors: fusionengineering, mattheu, danielbachhuber, zebulonj, goldenapples, jitendraharpalani, sanchothefat, bfintal, davisshaver, garyj, mte90, fredserva, khromov, bronsonquick, dashaluna, mehigh, sc0ttkclark, kraftner, pravdomil
Tags: Shortcodes
Erfordert mindestens: 4.5
Bis: 5.0.3 getestet
Stabiles Tag: 0.7.4
Lizenz: GPLV2 oder höher
Lizenz URI: http://www.gnu.org/licenses/gpl-2.0.html
Shortcake macht mit WordPress -Shortcodes ein Stück Kuchen.
Beschreibung
Shortcake wird neben add_shortcode
verwendet und liefert eine benutzerfreundliche Schnittstelle zum Hinzufügen eines Shortcode zu einem Beitrag sowie eine Anzeige und Bearbeitung von dem Inhaltseditor.
Sobald Sie das Plugin installiert haben, müssen Sie die Benutzeroberfläche für Ihre Shortcodes registrieren. Um Inspiration zu inspirieren, lesen Sie Beispiele für Shortcake in freier Wildbahn.
Um Fehler oder Feature -Anfragen zu melden, verwenden Sie bitte GitHub -Probleme.
Installation
Shortcake kann wie jedes andere WordPress -Plugin installiert werden.
Sobald Sie dies getan haben, müssen Sie die Benutzeroberfläche für Ihren Code registrieren.
Neu in 0.4.0 ist die Möglichkeit, JavaScript -Funktionen an Ereignisattributaktualisierungen anzuhängen. Action -Hooks können verwendet werden, um ein Feld dynamisch auf der Grundlage des Wertes eines anderen zu zeigen oder auszublenden oder benutzerdefinierte Validierungsregeln zu implementieren.
Häufig gestellte Fragen
Wie registriere ich die Benutzeroberfläche für beliebige Schlüssel-/Wertpaare als Shortcode -Attribute?
Shortcake unterstützt keine benutzerdefinierten Key => Wertpaare als Shortcode -Attribute, da es keine großartige Benutzererfahrung ist.
Nach dem Upgrade auf Shortcake 0.7.x funktionieren einige der ShortCode UI -Felder (post auswählen, Benutzer auswählen usw.) nicht wie erwartet. Was kann ich tun?
In Version 0.7.0 haben wir die neueste Zweigstelle der Select2 -Bibliothek aktualisiert, die die erweiterten Auswahlfelder in diesen Feldtypen bereitstellt. Dies führt zu einem bekannten Konflikt mit Plugins, die ältere Versionen von Select2 aufnehmen. (Zu den beliebten Plugins mit bekannten Konflikten gehören unter anderem WooCommerce und Advanced Custom Fields Pro.)
Wenn Sie feststellen, dass Sie Konflikte mit diesen Plugins haben, können Sie ein Flag zum Laden von Select2 in einem bestimmten Namespace einstellen, indem Sie den konstanten SELECT2_NOCONFLICT
in Ihrem WP-config.php definieren (oder überall, wo er vor dem 'Init' Hook definiert ist).
define( 'SELECT2_NOCONFLICT', true );
Auslauftests
Wir haben die Testabdeckung für PHP mit Phpunit und JavaScript unter Verwendung von Jasmine.
Ausführen von Tests lokal
Jasmin -Tests können mit grunt jasmine
durchgeführt werden und werden auch als Teil der grunt scripts
durchgeführt. Um die Kern-WordPress-Dateien zu aktualisieren, die von der Jasmine Test Suite verwendet werden, führen Sie grunt updateJasmineCoreScripts --abspath="/path/to/wordpress-install"
.
Screenshots
1. Ohne Verknüpfung haben Shortcodes eine minimale Benutzeroberfläche.
2. Mit Shortcake wird Tinymce den Shortcode in einer Tinymce -Ansicht rendern.
3. und fügen Sie eine benutzerfreundliche Benutzeroberfläche hinzu, um Shortcode-Inhalte und -attribute zu bearbeiten.
4. Fügen Sie Ihrem Beitrag neue Shortcodes über "Medien hinzufügen" hinzu.
Upgrade -Mitteilung
0.4.0
Wir haben die Kompatibilitätsschims für das Argument des placeholder
entfernt. Sie sollten einen Platzhalter für Ihr Feld über das meta
-Argument registrieren.
0.3.0
Wir haben die Kompatibilitätsschims für das magische content
entfernt. Wenn Sie dies verwendet haben, um die Bearbeitung von inneren Inhalten zu unterstützen, müssen Sie Ihre Benutzeroberflächenregistrierung ändern, um inner_content
zu verwenden.
Changelog
0,7,4 (16. Januar 2019)
- Kompatibilität des Blockeditors: Verhindern Sie, dass Vorlagen vor dem Dokumentenkopf ausgeben, was den Browser in Quirksmodes gezwungen hat und einige CSS -Stile im Block -Editor unterbrechen.
- Fehlerbehebung: Das obige Bugfix.
- Fehlerbehebung: Beheben Sie einen JavaScript -Fehler, der dazu führen würde, dass das Modal des Postelements einfügen kann, wenn ein ShortCode ein SELECT -Feld ohne sichtbare Optionen und ohne Standardsatz enthält.
- Fehlerbehebung: Beheben Sie einen Fehler, bei dem die Schaltfläche "Dateien auswählen" im Mediencontroller nicht mehr reagierte, nachdem ein Postelement eingefügt wurde.
- Verbesserung: Fügen Sie ein optionales Feld "Clear Clear" hinzu, das an SELECT2-Felder (Post, Benutzer oder Begriff ausgewählt) übergeben werden soll, damit Multi-Select-Felder mit einem einzigen Klick gelöscht werden können. (Diese Option stellt die vorhandene Felder aus und sollte nicht beeinflussen.)
0,7,3 (5. September 2017)
- Sicherheit: Verwenden Sie die Nonce -Validierung im AJAX Render -Shortcode -Rückruf zum Schutz vor CSRF.
- Bug Fix: Stellen Sie sicher, dass die gleichen JS -Haken auf alle Feldtypen feuern.
- Fehlerbehebung: Beheben von Fehler, die mehrere ausgewählte Felder betreffen (Werte konnten nach der Einstellung nicht nicht festgelegt werden, und mehrere Standardwerte konnten nicht festgelegt werden).
- Fehlerbehebung: Verhindern Sie, dass codierte Felder, die zwei Prozentzeichen enthalten, das Brechen enthalten.
- Fehlerbehebung: Beheben Sie einige Probleme, bei denen der Medienmodalzustand nicht ordnungsgemäß zurückgesetzt wurde, wenn ein Shortcode ohne Speichern geschlossen wurde.
- Fehlerbehebung: Unterstützen Sie Fälle, in denen auf einer Seite mehrere WP_EDITOR -Instanzen vorhanden sind, und stellen Sie sicher, dass der Mortcode bearbeitet wird, der auf die richtige Seite gesendet wird.
- Verbesserung: Wenn das Feld post_select aus mehr als einem Post -Typ ausgewählt wird, zeigen Sie den Post -Typ neben dem Postnamen für eine leichtere Auswahl an.
- Verbesserung: Zeigen Sie Vorschaubilder für einen Anhangstyp und nicht nur Bilder.
- Verbesserung: Fügen Sie weitere hilfreiche Fehlermeldungen hinzu, wenn keine Shortcodes mit Shortcake -UI registriert sind.
- Aktualisieren Sie die norwegische Übersetzung
0,7.2 (24. April 2017)
- Fehlerbehebung: Beheben Sie das Verhalten in WordPress 4.7.4, wobei das Bearbeiten eines Shortcode einen neuen Shortcode in den Editor einfügt, anstatt den zu bearbeitenden Shortcode zu aktualisieren.
- Bug Fix: Der Ersatz, der zur Fluchtprozent (%) Zeichen in Attributen verwendet wurde, ersetzte nur das erste Erscheinungsbild
- Fehlerbehebung: Für ausgewählte Felder mit multiple = true können mehrere Optionen standardmäßig ausgewählt werden
- I18N für alle Zeichenfolgen in der Feldvorlage für Anhänge hinzugefügt
- Finnische Übersetzung hinzugefügt
0,7.1 (16. März 2017)
- Ändern Sie die Shortcode-Formatierung, um einen Platz vor dem sich selbst klingelnden nachverfolgenden Schrägstrich hinzuzufügen.
- Beheben Sie die Ausrichtung der Anhangsvorschau mit langen Dateinamen.
- Fehlerbehebung: Stellen Sie einen Anfangswert auf ausgewählten Feldern fest (zuvor würde kein Wert für ein SELECT -Feld festgelegt, es sei denn, der Benutzer interagiert mit dem Feld).
- Verbesserung/Fix: Verwenden Sie eine Kopie des Medienmodals und setzen Sie den Status beim Schließen zurück, anstatt jedes Mal auf das modale Zugriff auf doppelte Markup zu erstellen.
- Kompatibilität: Verwendet die "vollständige" Version von Select2.js 4.0.3, um Plugin -Konflikte mit anderen Plugins zu verhindern, die erwarten, dass die Vollversion erwartet wird.
- Kompatibilität: Fügen Sie
SELECT2_NOCONFLICT
-Flag hinzu, um Select2 in einem eindeutigen Namespace zu laden, um Konflikte mit anderen Plugins zu verhindern, die Select2.js Version 3 laden. - Norwegische Übersetzung hinzugefügt.
- Mehrere Codierungsstil -Korrekturen.
0,7,0 (18. November 2016)
- Fügen Sie den Medienschaltflächen "Postelement hinzufügen" hinzu - ein Klicken, um die Shortcode -Liste zu öffnen, anstatt auf die Schaltfläche "Medien hinzufügen" zu klicken und dann im Menü "Postelement einfügen" zu finden.
- "Term Select" -Feldentyp hinzugefügt.
- "Benutzerauswahl" -Feldentyp hinzugefügt.
- Es wurden neue Hooks hinzugefügt, die auf das Rendern/Bearbeiten/Schließen eines Shortcode abfeuern, die für Feldtypen verwendet werden können, die eine benutzerdefinierte JavaScript -Initialisierung oder -aufbereitung erfordern.
- Felder auswählen: Fügen Sie die vollständige Unterstützung für mehrere ausgewählte Felder hinzu.
- Felder auswählen: Unterstützen Sie die benutzerdefinierte Bestellung von Optionen.
- Felder auswählen: Support -Gruppierungsoption in
<optgroup>
s, indem Sie sie als verschachteltes Array übergeben. - Anhangsfelder: Unterstützung mehrerer Auswahl.
- Anhangsfelder: Unterstützen Sie SVG -Bilder (wenn SVG -Uploads durch ein Plugin oder Thema aktiviert sind).
- Fehlerbehebung: Behandeln Sie prozentuale Anzeichen, wenn Dekodierungsfelder mit
encode=true
angegeben werden. - Fehlerbehebung: Problem beheben Sie, wo zwei Klicks auf einen Shortcode im Editor erforderlich sind, um das Modal "ShortCode" bearbeiten.
- Fehlerbehebung: Problem beheben, wenn Sie nach Shortcodes nach Namen suchen, wenn mehrere Shortcodes mit der Suchzeichenfolge beginnen, wird nur der erste zurückgegeben.
- Fehlerbehebung: Ausgabe nur ein Beschreibung Feld in einem Attribut aus, wenn es nicht leer ist.
- Kompatibilität: Entfernen Sie die Scheiben für die Behandlung des Medienmodals in WP 4.1 und 4.2.
- Kompatibilität: Upgrade Select2 Library auf 4.0.3, um Konflikte mit anderen Plugins zu vermeiden, die die neueste Version von Select2 verwenden.
- Türkische Übersetzung hinzugefügt.
- Finnische Übersetzung hinzugefügt.
- Swedische Übersetzung hinzugefügt.
- Ungarische Übersetzung hinzugefügt.
0,6,2 (12. November 2015)
- Fehlerbehebung: Hört auf das "Ändern" von Optionsfeldern und Kontrollkästchen zu, um sicherzustellen, dass ShortCode -Attribute aktualisiert werden.
- Fehlerbehebung: Stellen Sie sicher, dass
register_shortcode_ui
immer ausgeführt wird, bevor Sie get_shortCodes () aufrufen. Behebung post post Wählen Sie Ajax Callback bei Verwendung von register_shortcode_ui
Hook.
0,6,1 (9. November 2015)
- Behebung von JavaScript TypeError beim Klicken auf Medienrahmenmenüelemente.
- Korrigiert Links in Readme.
0,6,0 (2. November 2015)
- Unterstützt ein optionales
encode=true
Argument für Attribute, um eine begrenzte HTML -Unterstützung zu ermöglichen. Attribute müssen über shortcode_atts()
ausgeführt werden, um ordnungsgemäß dekodiert zu werden. - Definiert eine
SHORTCODE_UI_DOING_PREVIEW
-Konstante bei der Rendern einer Shortcode -Vorschau, mit der Rückrufe eine andere Darstellung des Shortcode in Tinymce erbringen können. - Wenn ein Anhang für ein Shortcode -Attribut bereits ausgewählt ist, enthält die Öffnungsmedienbibliothek es ausgewählt.
- Reinigte Symbolausrichtung in der Benutzeroberflächen -I -Element -Einfügen.
- CSS -Dienstprogrammklassen für alle Feld -HTML hinzugefügt. Zum Beispiel ist das Anhangsfeld jetzt mit
shortcode-ui-field-attachment
verpackt. - Filter hinzugefügt, um Shortcode UI -Argumente zur Registrierung zu ändern.
- Das Beispiel -Plugin hat es aufgeräumt, daher ist es eine viel nützlichere Entwicklerreferenz.
- Verwendet das JavaScript -Regex von Core für Parsen -Shortcodes, anstatt separate Regex aufrechtzuerhalten.
- Ermöglicht HTML in Feldbezeichnungen und Beschreibungen.
- Dänische Übersetzung hinzugefügt.
- Italienische Übersetzung hinzugefügt.
- Deutsche Übersetzung hinzugefügt.
- Kernintegration: Unterstützt PHP 5.2 vollständig.
- Fehlerbehebung: Bleibt Shortcode -Attribute und inneren Inhalt bei, wenn die Benutzeroberfläche nicht für sie registriert ist. Zuvor würden sie verworfen.
- Fehlerbehebung: Zeigen Sie die Beschreibung im Feld Post auswählen an.
- Fehlerbehebung: Attributfeldänderung Ereignis bindet eher an
input
als keyup
. - Vollständige Versionshinweise
0.5.0 (26. August 2015)
- Anhangsfeld: Es wurde einfacher, den Anhang zu ändern, indem Sie auf das Miniaturbild klicken. Anhangsmetadaten in der Feldansicht hinzugefügt.
- Anhangsfeld: JavaScript neu gestaltet, um Ereignisse auszulösen.
- Einen
range
Eingangstyp hinzugefügt. - Führte einen
register_shortcode_ui
-Hook ein, damit Plugins sicherer die Benutzeroberfläche registrieren können. - Die Registerkarte Vorschau entfernt, um die Benutzererfahrung von Shortcake näher am Kern zu bringen, bei dem die visuelle Vorschau der Inline -Vorschau gegenüber einer separaten Vorschau im Medienmodal bevorzugt wird.
- JavaScript mit JSHINT gereinigt.
- Russische Übersetzung hinzugefügt.
- Die portugiesische Übersetzung hinzugefügt.
- Allen Klassen PHPDOC hinzugefügt.
- Fehlerfix:
inner_content
für einen Shortcode bleibt auch dann, wenn die Benutzeroberfläche nicht definiert ist. - Bug Fix: Das Schlagen von ESC in einer Shortcake -Ansicht schließt nun das Modal. (In Kern festgelegt.)
- Fehlerbehebung: Wenn Sie im visuellen Editor ausgewählt werden, wird das Löschen des Löschens zum Auswahl einer Verknüpfungsvorschau führt, dass der Shortcode entfernt wird. (In Kern festgelegt.)
- Fehlerbehebung: Die Suchfunktion "Shortcake -Such" in Konflikt nicht mehr visuell mit dem Shortcode -Gitter in kleinen Bildschirmgrößen. (In Kern festgelegt.)
- Fehlerbehebung: Verwenden Sie
get_post_type()
anstelle von get_current_screen()->post_type
, sodass der Kontext auf der Frontend ordnungsgemäß eingestellt ist. - Vollständige Versionshinweise
0.4.0 (22. Juni 2015)
- Verwenden von Carldanley/WP-JS-Hooks für eine grundlegende API, um JS-Rückrufe auf Shortcode-Attributen zu registrieren.
- Das Anhangsfeld verwendet eine Ladeanzeige, wenn die Vorschau für einen Anhang geladen wird.
- Chinesische Übersetzung hinzugefügt.
- Französische Übersetzung hinzugefügt.
- Spanische Übersetzung hinzugefügt.
- Fehlerbehebung: Verhindert Fataling, wenn der Editor im Frontend -Kontext geladen wird.
- Bug Fix: Das Farbfeld unterstützt auch
meta
-Argument. - Fehlerbehebung: Entfernt die nachverfolgende Weißespace von Shortcodes ohne Attribute.
- Fehlerbehebung: Entfernt Doppel -Schrägstrich im Editor CSS -Pfad.
- Vollständige Versionshinweise
0.3.0 (27. April 2015)
- Breaking Change : Wir haben die Kompatibilitätsschims für das Attribut "Magische
content
entfernt. Wenn Sie dies verwendet haben, um die Bearbeitung von inneren Inhalten zu unterstützen, müssen Sie Ihre Benutzeroberflächenregistrierung ändern, um inner_content
zu verwenden. - Neues
post_select
-Feldtyp für die Auswahl aus einer Liste von Beiträgen. Unterstützt einen zusätzlichen query
, um die Suchabfrage zu ändern. - Unter Verwendung eines neuen
post_type
-Arguments kann die ShortCode -UI für bestimmte Post -Typen registriert werden. Dies ist hilfreich, wenn die Benutzeroberfläche für einen bestimmten Shortcode nur auf bestimmten Post -Typen angezeigt wird. - Für jedes Shortcode -Attribut kann ein
meta
-Argument angegeben werden, um dem Feld beliebige HTML -Attribute hinzuzufügen. Wir haben eine Kompatibilitätsschim für das bestehende placeholder
hinzugefügt. Diese Verträglichkeit wird in V0.4 entfernt. - Beim Einsetzen eines Shortcode zeigt die Benutzeroberfläche eine hilfreiche Nachricht an, wenn der Shortcode keine Attribute zum Konfigurieren hat. Zuvor wurde dem Benutzer einen relativ leeren Bildschirm präsentiert.
- Unser Beispiel -Plugin kann über den WordPress -Administrator aktiviert werden.
- Klicken Sie im Menü "Postelement einfügen" im linken Menü effektiv als Back -Taste zur Auswahl eines Shortcode.
- Die Sprache rund um die Bearbeitungserfahrung spiegelt den Shortcode wider, den Sie bearbeiten. Zum Beispiel wird mit einem Pullquote -Shortcode "Postelement bearbeiten" "Pullquote bearbeiten".
- Hinzugefügt niederländische Übersetzung.
- Source JavaScript -Dateien wurden für Klarheit zwischen Quelle und erstellten JavaScript in
js/src
verschoben. - PHP -Dateien werden mit PHP_CODESNIFFER gescannt.
- Fehlerbehebung: Nicht geeignete Shortcode -Attribute werden ordnungsgemäß unterstützt.
- Fehlerbehebung: Anhangsfeld ordnungsgemäß registriert Abhängigkeiten.
- Fehlerfix: "Postelement einfügen" sollte funktionieren, wenn der visuelle Editor deaktiviert ist. Shortcake ist nur lose mit Tinymce gekoppelt.
- Bug Fix: Editor -Stile werden auf
after_setup_theme
geladen, um Tatale zu verhindern. - Vollständige Versionshinweise.
0.2.3 (8. April 2015)
- Fix WP 4.1 Rückwärtskompatibilitätsproblem durch Wiederherstellung von Argumenten, die an Tinymce View -Kompatibilitätsschim übergeben wurden.
0.2.2 (6. April 2015)
- Aktualisieren Sie Argumente, die an Tinymce View Render für WP 4.2 -Kompatibilität übergeben wurden. Das zuvor bestandene Argument war nicht notwendig, sodass das Entfernen nicht die Kompatibilität nach hinten durchbricht.
0.2.1 (18. März 2015)
- Stellen Sie sicher, dass Jquery Respekt JQuery.Noconflict () -Modus in WP.
0.2.0 (18. März 2015)
- JS mit Browserify abstrahiert.
- Verbesserungen zur UI: Shortcodes "Postelement": sortiert alphabetisch; Suche basierend auf Etikett.
- Die Auswahl von Shortcode -Voransichten mit IFRames.
- WordPress 4.2 Kompatibilität.
- Color Picker hinzugefügt, um potenzielle Felder aufzulisten.
- Fehlerbehebung: IE11 -Kompatibilität.
- Fehlerbehebung: Das Kontrollkästchen -Feld kann jetzt deaktiviert werden.
- Vollständige Versionshinweise.
0.1.0 (23. Dezember 2014)
- Unterstützt alle HTML5 -Eingangstypen für Formularfelder.
- Registerkarte "Shortcode Preview" im Bearbeitungserlebnis. }* Hat die Benutzeroberfläche um "Postelemente" umgelegt, was beschreibender ist als "Inhaltselemente".
- Viele Fehlerbehebungen.
- Vollständige Versionshinweise.