diff --git a/Minecraft-Modern-Theme/inc/theme-updater.php b/Minecraft-Modern-Theme/inc/theme-updater.php index 6bf5945..d776cee 100644 --- a/Minecraft-Modern-Theme/inc/theme-updater.php +++ b/Minecraft-Modern-Theme/inc/theme-updater.php @@ -5,8 +5,23 @@ if ( ! defined( 'ABSPATH' ) ) { exit; } -// === ZENTRALE VERSIONSKONSTANTE === -define( 'MINECRAFT_MODERN_THEME_VERSION', '1.6' ); +// === THEME VERSION AUTOMATISCH AUS style.css LADEN (PARENT THEME PRIORITÄT) === +function minecraft_modern_get_theme_version() { + // Holt das aktuell aktive Theme (child oder parent) + $theme = wp_get_theme(); + + // Wenn ein Child-Theme aktiv ist und ein Parent vorhanden ist, nutze die Parent-Version + $parent = $theme->parent(); + if ( $parent && $parent->exists() ) { + $parent_version = $parent->get( 'Version' ); + if ( ! empty( $parent_version ) ) { + return $parent_version; + } + } + + // Fallback: Version des aktuell aktiven Themes (wenn kein Parent existiert oder Parent keine Version hat) + return $theme->get( 'Version' ); +} // === THEME UPDATE NOTIFICATION SYSTEM === @@ -34,7 +49,10 @@ function minecraft_modern_get_latest_release_info( $force_refresh = false ) { if ( false === $release_info ) { // Timeout auf 10 Sekunden erhöht für langsame Verbindungen - $response = wp_remote_get( 'https://git.viper.ipv64.net/api/v1/repos/M_Viper/Minecraft-Modern-Theme/releases/latest', array( 'timeout' => 10 ) ); + $response = wp_remote_get( + 'https://git.viper.ipv64.net/api/v1/repos/M_Viper/Minecraft-Modern-Theme/releases/latest', + array( 'timeout' => 10 ) + ); if ( ! is_wp_error( $response ) && 200 === wp_remote_retrieve_response_code( $response ) ) { $body = wp_remote_retrieve_body( $response ); @@ -54,7 +72,7 @@ function minecraft_modern_get_latest_release_info( $force_refresh = false ) { 'published_at' => isset( $release_data['published_at'] ) ? $release_data['published_at'] : '' ); - // Cache für 6 Stunden (kannst du anpassen) + // Cache für 6 Stunden set_transient( $transient_key, $release_info, 6 * HOUR_IN_SECONDS ); } else { // Fehlerhafte Daten leer cachen @@ -69,13 +87,13 @@ function minecraft_modern_get_latest_release_info( $force_refresh = false ) { return $release_info; } -// Benachrichtigung im Admin-Bereich +// === BENACHRICHTIGUNG IM ADMIN-BEREICH === function minecraft_modern_show_update_notification() { if ( ! is_admin() || ! current_user_can( 'manage_options' ) ) { return; } - $current_version = MINECRAFT_MODERN_THEME_VERSION; + $current_version = minecraft_modern_get_theme_version(); $latest_release = minecraft_modern_get_latest_release_info(); if ( ! empty( $latest_release ) && isset( $latest_release['version'] ) && version_compare( $current_version, $latest_release['version'], '<' ) ) { @@ -105,7 +123,7 @@ function minecraft_modern_show_update_notification() { } add_action( 'admin_notices', 'minecraft_modern_show_update_notification' ); -// Dashboard Widget +// === DASHBOARD WIDGET === function minecraft_modern_add_dashboard_widget() { wp_add_dashboard_widget( 'minecraft_modern_update_widget', @@ -116,7 +134,7 @@ function minecraft_modern_add_dashboard_widget() { add_action( 'wp_dashboard_setup', 'minecraft_modern_add_dashboard_widget' ); function minecraft_modern_update_widget_function() { - $current_version = MINECRAFT_MODERN_THEME_VERSION; + $current_version = minecraft_modern_get_theme_version(); $latest_release = minecraft_modern_get_latest_release_info(); echo '
' . __( 'Current Version:', 'minecraft-modern-theme' ) . ' ' . esc_html( $current_version ) . '
'; @@ -125,18 +143,18 @@ function minecraft_modern_update_widget_function() { echo '' . __( 'Latest Version:', 'minecraft-modern-theme' ) . ' ' . esc_html( $latest_release['version'] ) . '
'; if ( version_compare( $current_version, $latest_release['version'], '<' ) ) { - echo '' . __( 'Status:', 'minecraft-modern-theme' ) . ' ' . __( 'Update Available', 'minecraft-modern-theme' ) . '
'; + echo '' . __( 'Status:', 'minecraft-modern-theme' ) . ' ' . __( 'Update Available', 'minecraft-modern-theme' ) . '
'; echo '' . __( 'Download Update', 'minecraft-modern-theme' ) . '
'; } else { - echo '' . __( 'Status:', 'minecraft-modern-theme' ) . ' ' . __( 'Up to Date', 'minecraft-modern-theme' ) . '
'; + echo '' . __( 'Status:', 'minecraft-modern-theme' ) . ' ' . __( 'Up to Date', 'minecraft-modern-theme' ) . '
'; } } else { echo '' . __( 'Status:', 'minecraft-modern-theme' ) . ' ' . __( 'Unable to check for updates', 'minecraft-modern-theme' ) . '
'; } - // Link für "Jetzt prüfen" hinzugefügt + // Link für "Jetzt prüfen" $refresh_url = wp_nonce_url( admin_url( 'index.php?mm_clear_cache=1' ), 'mm_clear_cache_action' ); echo '' . __( 'Check for Updates Now', 'minecraft-modern-theme' ) . '
'; echo ''; -} \ No newline at end of file +}