Blog

Code Snippet: Oxygen Editor Hinweis

Version: 1.2.0 (22.05.2024)

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.

Lösung

Ich habe ein Code Snippet entwickelt, das in den Administrations-Listen für Seiten und Beiträge anzeigt, ob Oxygen zur Gestaltung verwendet wurde.

Download

Dieser JSON-Download kann direkt in die Plugins Code Snippets oder Advanced Scripts importiert werden. Vergiss nicht, das Snippet nach dem Import zu aktivieren.
Falls Du ein anderes Snippet Plugin verwendest, kannst Du stattdessen den Source Code kopieren und damit selbst ein neues Snippet anlegen.

ma-oxygen-editor-hint.code-snippets.json
Version 1.2.0, 2024-05-22

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.

  Bei Klick auf den Button wird eine Verbindung zu PayPal aufgebaut.

Spenden werden selbstverständlich ordnungsgemäß durch mich versteuert.

Disclaimer

Das Code Snippet habe ich nach bestem Wissen und Gewissen getestet. (Siehe den Abschnitt "TESTED WITH" im Source Code)
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.2.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-2024, Matthias Altmann

TESTED WITH:
Product		Versions
--------------------------------------------------------------------------------------------------------------
PHP 		7.4, ..., 8.1
WordPress	5.7, ..., 6.5.3
Oxygen		3.7, ..., 4.8.3
--------------------------------------------------------------------------------------------------------------


VERSION HISTORY
Date		Version		Description
--------------------------------------------------------------------------------------------------------------
2024-05-22	1.2.0		Changes:
						- Compatibility to Oxygen 4.8.3 with changed post meta keys
2024-01-24	1.1.1		Fixes: PHP 8 compatibility
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
--------------------------------------------------------------------------------------------------------------
*/

if (!class_exists('MA_OxygenEditorHint')) :
class MA_OxygenEditorHint {
	const TITLE							= 'MA Oxygen Editor Hint';
	const SLUG							= 'ma-oxygen-editor-hint';
	const SHRT 							= 'maoeh';
	const VERSION						= '1.2.0';
	
	// ===== CONFIGURATION =====
	private $post_types 		= ['post','page']; 	// post types to show new column "Editor" in posts list

	//-------------------------------------------------------------------------------------------------------------------
	function __construct() {
		foreach ($this->post_types as $post_type) {
			add_filter( 'display_post_states', [$this, 'add_editor_hint'], 1000, 2 );
		}
	}
	//-------------------------------------------------------------------------------------------------------------------
	public function add_editor_hint($post_states, $post) {
		// Fix PHP 7+ warnings if another plugin returns unexpected type.
		$post_states = (array) $post_states;

		// Oxygen pre or post 4.8.3?
		$meta_function_name = function_exists('oxy_get_post_meta') ? 'oxy_get_post_meta' : 'get_post_meta';

		$oxy_shortcodes = call_user_func($meta_function_name, $post->ID, 'ct_builder_shortcodes', true) ?? '';
		if (trim($oxy_shortcodes) != '')  {
			// remove mis-leading editor hints from plugin "Classic Editor"
			unset($post_states['classic-editor-plugin']);
			// add "Oxygen" as editor hint
			$post_states[self::SHRT] = 'Oxygen';
		}
		return $post_states;
	}
}
if (is_admin() && !wp_doing_ajax() && !wp_doing_cron() ) {
	new MA_OxygenEditorHint();
}
endif;
Erstveröffentlichung: 16.05.2021 auf Code Snippet: Oxygen Editor Hinweis
magnifier