WordPress: Version eines WordPress Themes ausgeben

Neulich benötigte ich für admin_notices in WordPress, eine Möglichkeit die Versionsnummer des aktuellen Themes auszugeben. Da WordPress ein vollgestopftes Monster ist, hat es auch hierfür etwas parat. Mit wp_get_theme() holst du dir die Informationen deines Themes. Du kannst auch andere Pfade bzw. Ordnernamen angeben, um Informationen anderer Themes zu erhalten.

Die Versionsnummer deines WordPress Themes ausgeben

Zuerst musst du wissen, wie wp_get_theme() aufgebaut ist. Diese Funktion gibt ein so genanntes WP_Theme Object zurück. Dort sind alle Informationen zum gewünschten WordPress Theme enthalten, sofern es existiert.

<?php
/**
 * @param string $stylesheet Ordnername deines WordPress Themes. Optional.
 * @param string $theme_root Absoluter Pfad deines WordPress Themes. Optional.
 */
$theme = wp_get_theme( string $stylesheet = '', string $theme_root = '' );Code-Sprache: HTML, XML (xml)

Wenn du wp_get_theme() ohne Parameter nutzt, wird immer dein aktuelles WordPress Theme verwendet. In unserem Fall wollen wir das auch. Also holen wir uns jetzt noch unsere Versionsnummer und auch den Namen unseres Themes:

<?php
$theme = wp_get_theme();

/* Prüft ob das Theme existiert */
if ( false !== $theme->exists() ) :

	/* Versionsnummer */
	echo esc_html( $theme->get( 'Version' ) );

	/* Name */
	echo esc_html( $theme->get( 'Name' ) );

endif;Code-Sprache: HTML, XML (xml)

Jetzt weißt du wie du die Version und den Namen deines Themes herausfindest. Du kannst jetzt bei Updates bspw. immer die aktuelle Version in einer Option abspeichern und jedes Mal wenn du das Theme aktualisiert, prüfst du ob die Version von der gespeicherten Version abweichst und führst so Aktionen aus. Bspw. kannst du so dann admin_notices ausgeben, die deinen Benutzer dann über bestimmte Dinge informieren, nachdem der Benutzer das WordPress Theme aktualisiert hat.