Der neue Editor namens Gutenberg ist hier als Plugin in 4.9 und als Kernfunktionalität namens Block Editor in 5.0 verfügbar. In diesem Zusammenhang muss häufig programmgesteuert festgelegt werden, welcher Editor zum Bearbeiten von Posts oder Seiten in der Site-Konsole verwendet wird. Wie es geht?
Update: Es gibt eine Reihe veralteter Antworten auf ähnliche Fragen:
gutenberg_post_has_blocks()
- Diese Funktion existiert nur im Gutenberg-Plugin und nicht in 5.0 Coreis_gutenberg_page()
- das Gleichethe_gutenberg_project()
- das Gleichehas_blocks()
- funktioniert nicht (gibt false zurück), wenn der klassische Editor aktiviert ist und die Option "Standardeditor für alle Benutzer" = "Blockeditor"- Antwort erzeugt einfach einen schwerwiegenden Fehler
Call to undefined function get_current_screen()
Bevor Sie diese Frage und Antwort kommentieren, überprüfen Sie bitte, was Sie vorschlagen. Überprüfen Sie es jetzt mit 4.9 und der aktuellen Version von WordPress sowie allen möglichen Kombinationen von Classic Editor und Gutenberg / Block Editor. Ich werde gerne über getestete Lösungen diskutieren, nicht über Links zu etwas.
block-editor
KAGG Design
quelle
quelle
the_gutenberg_project()
existiert die Funktion nur im Gutenberg-Plugin, nicht aber im WP 5.0 Core.Antworten:
Es gibt verschiedene Varianten:
Alle genannten Varianten können mit folgendem Code verarbeitet werden:
Die Funktion gibt true zurück, wenn der Blockeditor auf irgendeine Weise aktiv ist, und false - falls der klassische Editor hier ist. Diese Funktion darf nur verwendet werden, nachdem die
plugins_loaded
Aktion ausgelöst wurde.PS Aufgrund der Veröffentlichung von Version 1.2 des Classic Editor-Plugins wird der Code aktualisiert, da die
classic-editor-replace
Optionen jetzt nicht die Wertereplace
undno-replace
, sondernclassic
und annehmenblock
.quelle
Sie können verwenden
Dies wird nur ausgelöst, wenn Inhalte mit Gutenberg bearbeitet werden.
quelle
enqueue_block_assets
?has_action( 'enqueue_block_assets' )
macht das gleiche washas_filter( 'replace_editor'
in meinem Code. Es gibt true zurück, wenn der klassische Editor aktiv ist, und setzt den klassischen Editor als Standard. Es ist besser zu überprüfen, was Sie vorschlagen, bevor Sie schreiben.