Code Snippet: Oxygen Editor Hinweis
Einführung
Oxygen ist ein mächtiges Plugin für WordPress, welches das WordPress Theme deaktiviert, die Erstellung eigener Templates mit einem visuellen Builder unterstützt, und damit ein ganz individuelles Design für die Website ermöglicht.
Auch Seite und Beiträge können mit dem Oxygen Builder gestaltet werden, statt mit dem Gutenberg Editor.
In der Administrations-Übersicht der Seiten und Beiträge ist leider nicht sofort erkennbar, ob eine Seite oder ein Beitrag mit Gutenberg oder mit Oxygen erstellt wurden.
Download
Das Code Snippet steht hier zum Download zur Verfügung:
ma-oxygen-editor-hint.code-snippets.json
Version 1.1.0, 2023-04-17
Zur Installation und Nutzung dieser JSON Datei wird das Plugin Code Snippets oder Advanced Scripts benötigt.
Dort kann diese JSON Datei mit der Funktion "Import" hochgeladen und anschließend aktiviert werden.
Alternativ: Am Ende dieser Seite kann der vollständige Source Code des Snippets eingesehen und kopiert werden.
Im Change Log sind neue Funktionalitäten und Fehlerbehebungen dokumentiert.
Spenden
Es macht mir viel Freude, Code Snippets zu entwickeln und damit Anforderungen zu lösen. Die Snippets stelle ich kostenfrei zur Verfügung.
Wenn Du möchtest, kannst Du meine vielen Stunden Arbeit mit einer kleinen Kaffee-Spende über PayPal honorieren.
Spenden werden selbstverständlich ordnungsgemäß durch mich versteuert.
Disclaimer
Das Code Snippet habe ich nach bestem Wissen und Gewissen getestet mit
- WordPress 6.2
- Oxygen 4.5
- PHP 8.1
Ich stelle das Code Snippet zur freien Verwendung zur Verfügung.
Eine Garantie für die Funktionalität in allen denkbaren WordPress Umgebungen kann ich nicht geben.
Download und Nutzung dieses Code Snippets erfolgen auf eigene Gefahr und Verantwortung.
Change Log
Siehe "Version History" in Source Code
Source Code
<?php /* Plugin Name: MA Oxygen Editor Hint Description: Show hint "Oxygen" as editor in posts/pages list Author: <a href="https://www.altmann.de/">Matthias Altmann</a> Project: Code Snippet: Oxygen Editor Hint Version: 1.1.0 Plugin URI: https://www.altmann.de/en/blog-en/ Description: en: https://www.altmann.de/en/blog-en/code-snippet-oxygen-editor-hint/ de: https://www.altmann.de/blog/code-snippet-oxygen-editor-hinweis/ Copyright: © 2021-2023, Matthias Altmann Version History: Date Version Description -------------------------------------------------------------------------------------------------------------- 2023-04-17 1.1.0 Moved call to init after the class definition for compatibility with WPCodeBox 2 Tested with PHP 8.1, WordPress 6.2, Oxygen 4.5, Code Snippets 3.3.0, WPCodeBox 2.0.0b3.0 2022-02-11 Tested with PHP 8.0, WordPress 5.9, Oxygen 4.0 beta 1 2021-05-16 1.0.0 Initial release as Code Snippet Tested with PHP 7.4, WordPress 5.7.2, Oxygen 3.7.1 -------------------------------------------------------------------------------------------------------------- */ class MA_OxygenPostState { // ===== CONFIGURATION ===== private static $post_types = ['post','page']; // post types to show new column "Editor" in posts list //------------------------------------------------------------------------------------------------------------------- public static function init() { foreach (self::$post_types as $post_type) { add_filter( 'display_post_states', array( __CLASS__, 'ma_editorcolumn_add_post_state' ), 1000, 2 ); } } //------------------------------------------------------------------------------------------------------------------- public static function ma_editorcolumn_add_post_state($post_states, $post) { // Fix PHP 7+ warnings if another plugin returns unexpected type. $post_states = (array) $post_states; $post_meta = get_post_meta($post->ID,'',true); if (isset($post_meta['ct_builder_shortcodes']) && (trim(@$post_meta['ct_builder_shortcodes'][0]) != '')) { // remove mis-leading editor hints from plugin "Classic Editor" unset($post_states['classic-editor-plugin']); // add "Oxygen" as editor hint $post_states['ma_editorcolumn'] = 'Oxygen'; } return $post_states; } } if (is_admin() && !wp_doing_ajax() && !wp_doing_cron() ) { MA_OxygenPostState::init(); }