diff --git a/Minecraft-Modern-Theme/functions.php b/Minecraft-Modern-Theme/functions.php
index 3b4fc4f..f4c1fdf 100644
--- a/Minecraft-Modern-Theme/functions.php
+++ b/Minecraft-Modern-Theme/functions.php
@@ -1,240 +1,300 @@
- 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
- 'width' => 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
- 'flex-height' => true,
- 'flex-width' => true,
- 'header-text' => array( 'site-title', 'site-description' ),
- ) );
-
- // Benutzerdefinierten Hintergrund aktivieren
- add_theme_support( 'custom-background' );
-
- register_nav_menus( array(
- 'primary' => __( 'Hauptmenü', 'minecraft-modern-theme' ),
- 'footer' => __( 'Footer-Menü', 'minecraft-modern-theme' ),
- ) );
- add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
-}
-add_action( 'after_setup_theme', 'minecraft_modern_setup' );
-
-// === Styles & Scripts laden ===
-function minecraft_modern_scripts() {
- // Haupt-Stylesheet
- wp_enqueue_style( 'minecraft-modern-style', get_stylesheet_uri() );
-
- // Swiper.js CSS (von CDN)
- wp_enqueue_style( 'swiper-css', 'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css' );
-
- // JavaScript für den Header-Scroll-Effekt
- wp_enqueue_script(
- 'minecraft-modern-header-script',
- get_template_directory_uri() . '/js/header-scroll.js',
- array(),
- '1.0',
- true
- );
-
- // Swiper.js JS (von CDN)
- wp_enqueue_script(
- 'swiper-js',
- 'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js',
- array(),
- '8.0.0',
- true
- );
-
- // Unsere eigene Slider-Initialisierungs-Datei
- wp_enqueue_script(
- 'minecraft-modern-slider-script',
- get_template_directory_uri() . '/js/slider-init.js',
- array('swiper-js'), // Hängt von Swiper.js ab
- '1.0',
- true
- );
-
- // NEU: Theme-Toggle-Skript laden
- wp_enqueue_script(
- 'theme-toggle-script',
- get_template_directory_uri() . '/js/theme-toggle.js',
- array(), // Keine Abhängigkeiten
- '1.0',
- true
- );
-
- // FAQ Skript laden, wenn der Post-Type aktiv ist
- if ( post_type_exists('faq') ) {
- wp_enqueue_script(
- 'faq-accordion-script',
- get_template_directory_uri() . '/js/faq-accordion.js',
- array(),
- '1.0',
- true
- );
- }
-
- // Übergebe ALLE Theme-Einstellungen an das JavaScript
- // KORREKTUR: Der Objektname muss 'sliderSettings' bleiben, damit slider-init.js funktioniert.
- wp_localize_script(
- 'minecraft-modern-slider-script',
- 'sliderSettings',
- array(
- 'hideArrows' => get_theme_mod( 'slider_hide_arrows', false ) ? '1' : '0',
- 'hidePagination' => get_theme_mod( 'slider_hide_pagination', false ) ? '1' : '0',
- 'defaultMode' => get_theme_mod( 'default_theme_mode', 'dark' ),
- 'ajax_url' => admin_url('admin-ajax.php')
- )
- );
-
- // === NEU & WICHTIG: Header-Skript-Informationen übergeben ===
- // Dies verhindert das Flackern im Customizer.
- wp_localize_script(
- 'minecraft-modern-header-script', // <-- Richtiges Skript-Handle!
- 'headerSettings', // <-- Neuer Objektname für Klarheit
- array(
- 'isCustomizer' => is_customize_preview()
- )
- );
-}
-add_action( 'wp_enqueue_scripts', 'minecraft_modern_scripts' );
-
-// === Customizer-Datei laden ===
-require get_template_directory() . '/inc/customizer.php';
-
-// === Footer-Widgets registrieren ===
-function minecraft_modern_footer_widgets() {
- register_sidebar( array(
- 'name' => __( 'Footer Links', 'minecraft-modern-theme' ),
- 'id' => 'footer-left',
- 'description' => __( 'Widget-Bereich links im Footer.', 'minecraft-modern-theme' ),
- 'before_widget' => '
',
- 'after_widget' => '
',
- 'before_title' => '',
- ) );
- for ( $i = 1; $i <= 3; $i++ ) {
- register_sidebar( array(
- 'name' => sprintf( __( 'Footer Spalte %d', 'minecraft-modern-theme' ), $i ),
- 'id' => 'footer-' . $i,
- 'description' => sprintf( __( 'Widget für die %d. Spalte im Footer.', 'minecraft-modern-theme' ), $i ),
- 'before_widget' => '',
- 'after_widget' => '
',
- 'before_title' => '',
- ) );
- }
- register_sidebar( array(
- 'name' => __( 'Footer Rechts', 'minecraft-modern-theme' ),
- 'id' => 'footer-right',
- 'description' => __( 'Widget-Bereich rechts im Footer.', 'minecraft-modern-theme' ),
- 'before_widget' => '',
- 'after_widget' => '
',
- 'before_title' => '',
- ) );
-}
-add_action( 'widgets_init', 'minecraft_modern_footer_widgets' );
-
-// === FAQ Custom Post Type & Taxonomy ===
-function create_faq_post_type() {
- // Nur registrieren, wenn im Customizer aktiviert
- if ( get_theme_mod( 'faq_enabled', true ) ) {
- register_post_type('faq',
- array(
- 'labels' => array(
- 'name' => __( 'FAQs', 'minecraft-modern-theme' ),
- 'singular_name' => __( 'FAQ', 'minecraft-modern-theme' ),
- 'add_new' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
- 'add_new_item' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
- 'edit_item' => __( 'FAQ bearbeiten', 'minecraft-modern-theme' ),
- 'new_item' => __( 'Neue FAQ', 'minecraft-modern-theme' ),
- 'view_item' => __( 'FAQ ansehen', 'minecraft-modern-theme' ),
- 'search_items' => __( 'FAQs durchsuchen', 'minecraft-modern-theme' ),
- 'not_found' => __( 'Keine FAQs gefunden', 'minecraft-modern-theme' ),
- 'not_found_in_trash' => __( 'Keine FAQs im Papierkorb gefunden', 'minecraft-modern-theme' ),
- 'all_items' => __( 'Alle FAQs', 'minecraft-modern-theme' ),
- ),
- 'public' => true,
- 'has_archive' => true, // Archiv-Seite /faq/ bleibt als Fallback
- 'menu_icon' => 'dashicons-format-chat',
- 'supports' => array( 'title', 'editor', 'page-attributes' ),
- 'rewrite' => array( 'slug' => 'faq' ),
- 'show_in_rest' => true,
- )
- );
- register_taxonomy(
- 'faq_category',
- 'faq',
- array(
- 'label' => __( 'FAQ Kategorien', 'minecraft-modern-theme' ),
- 'rewrite' => array( 'slug' => 'faq-kategorie' ),
- 'hierarchical' => true,
- 'show_in_rest' => true,
- )
- );
- }
-}
-add_action('init', 'create_faq_post_type');
-
-
-// =============================================================================
-// NEU: Automatische FAQ-Seitenerstellung und Template-Zuweisung
-// =============================================================================
-
-/**
- * Erstellt automatisch eine "FAQ" Seite, wenn die FAQ-Funktion aktiviert wird.
- */
-function create_faq_page_automatically() {
- // Prüfen, ob die FAQ-Funktion aktiv ist
- if ( get_theme_mod( 'faq_enabled', true ) ) {
- // Prüfen, ob die Seite bereits existiert
- if ( get_page_by_title( 'FAQ' ) == null ) {
- // Seite erstellen
- $new_page = array(
- 'post_title' => 'FAQ',
- 'post_content' => 'Diese Seite zeigt alle FAQs an. Der Inhalt wird automatisch generiert.',
- 'post_status' => 'publish',
- 'post_type' => 'page',
- 'post_author' => 1,
- );
- // Seite in die Datenbank einfügen
- wp_insert_post( $new_page );
- }
- }
-}
-// Diese Funktion wird ausgeführt, wenn der Customizer gespeichert wird.
-add_action( 'customize_save_after', 'create_faq_page_automatically' );
-
-
-/**
- * Leitet Anfragen für die "FAQ" Seite auf unser spezielles Template um.
- */
-function load_faq_page_template( $template ) {
- // Prüfen, ob die FAQ-Funktion aktiv ist
- if ( get_theme_mod( 'faq_enabled', true ) ) {
- // Prüfen, ob wir uns auf einer Seite befinden
- if ( is_page() ) {
- global $post;
- // Prüfen, ob der Titel der Seite "FAQ" ist
- if ( $post && $post->post_title == 'FAQ' ) {
- // Pfad zu unserem Template zurückgeben
- return get_template_directory() . '/archive-faq.php';
- }
- }
- }
- // Standard-Template in allen anderen Fällen
- return $template;
-}
-add_filter( 'template_include', 'load_faq_page_template' );
\ No newline at end of file
+ 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
+ 'width' => 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
+ 'flex-height' => true,
+ 'flex-width' => true,
+ 'header-text' => array( 'site-title', 'site-description' ),
+ ) );
+
+ // Benutzerdefinierten Hintergrund aktivieren
+ add_theme_support( 'custom-background' );
+
+ register_nav_menus( array(
+ 'primary' => __( 'Hauptmenü', 'minecraft-modern-theme' ),
+ 'footer' => __( 'Footer-Menü', 'minecraft-modern-theme' ),
+ ) );
+ add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
+}
+add_action( 'after_setup_theme', 'minecraft_modern_setup' );
+
+// === Styles & Scripts laden ===
+function minecraft_modern_scripts() {
+ // Haupt-Stylesheet
+ wp_enqueue_style( 'minecraft-modern-style', get_stylesheet_uri() );
+
+ // Swiper.js CSS (von CDN)
+ wp_enqueue_style( 'swiper-css', 'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css' );
+
+ // JavaScript für den Header-Scroll-Effekt
+ wp_enqueue_script(
+ 'minecraft-modern-header-script',
+ get_template_directory_uri() . '/js/header-scroll.js',
+ array(),
+ '1.0',
+ true
+ );
+
+ // NEU: Ankündigungs-Skript laden
+ wp_enqueue_script(
+ 'announcement-script',
+ get_template_directory_uri() . '/js/announcement.js',
+ array(), // Keine Abhängigkeiten
+ '1.0',
+ true
+ );
+
+ // Swiper.js JS (von CDN)
+ wp_enqueue_script(
+ 'swiper-js',
+ 'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js',
+ array(),
+ '8.0.0',
+ true
+ );
+
+ // Unsere eigene Slider-Initialisierungs-Datei
+ wp_enqueue_script(
+ 'minecraft-modern-slider-script',
+ get_template_directory_uri() . '/js/slider-init.js',
+ array('swiper-js'), // Hängt von Swiper.js ab
+ '1.0',
+ true
+ );
+
+ // NEU: Theme-Toggle-Skript laden
+ wp_enqueue_script(
+ 'theme-toggle-script',
+ get_template_directory_uri() . '/js/theme-toggle.js',
+ array(), // Keine Abhängigkeiten
+ '1.0',
+ true
+ );
+
+ // FAQ Skript laden, wenn der Post-Type aktiv ist
+ if ( post_type_exists('faq') ) {
+ wp_enqueue_script(
+ 'faq-accordion-script',
+ get_template_directory_uri() . '/js/faq-accordion.js',
+ array(),
+ '1.0',
+ true
+ );
+ }
+
+ // Übergebe ALLE Theme-Einstellungen an das JavaScript
+ wp_localize_script(
+ 'minecraft-modern-slider-script',
+ 'sliderSettings',
+ array(
+ 'hideArrows' => get_theme_mod( 'slider_hide_arrows', false ) ? '1' : '0',
+ 'hidePagination' => get_theme_mod( 'slider_hide_pagination', false ) ? '1' : '0',
+ 'effect' => get_theme_mod( 'slider_effect', 'fade' ),
+ 'direction' => get_theme_mod( 'slider_direction', 'horizontal' ),
+ 'defaultMode' => get_theme_mod( 'default_theme_mode', 'dark' ),
+ 'ajax_url' => admin_url('admin-ajax.php')
+ )
+ );
+
+ // === NEU & WICHTIG: Header-Skript-Informationen übergeben ===
+ // Dies verhindert das Flackern im Customizer.
+ wp_localize_script(
+ 'minecraft-modern-header-script', // <-- Richtiges Skript-Handle!
+ 'headerSettings', // <-- Neuer Objektname für Klarheit
+ array(
+ 'isCustomizer' => is_customize_preview()
+ )
+ );
+}
+add_action( 'wp_enqueue_scripts', 'minecraft_modern_scripts' );
+
+// === Customizer-Datei laden ===
+require get_template_directory() . '/inc/customizer.php';
+
+// === Footer-Widgets registrieren ===
+function minecraft_modern_footer_widgets() {
+ register_sidebar( array(
+ 'name' => __( 'Footer Links', 'minecraft-modern-theme' ),
+ 'id' => 'footer-left',
+ 'description' => __( 'Widget-Bereich links im Footer.', 'minecraft-modern-theme' ),
+ 'before_widget' => '',
+ 'after_widget' => '
',
+ 'before_title' => '',
+ ) );
+ for ( $i = 1; $i <= 3; $i++ ) {
+ register_sidebar( array(
+ 'name' => sprintf( __( 'Footer Spalte %d', 'minecraft-modern-theme' ), $i ),
+ 'id' => 'footer-' . $i,
+ 'description' => sprintf( __( 'Widget für die %d. Spalte im Footer.', 'minecraft-modern-theme' ), $i ),
+ 'before_widget' => '',
+ 'after_widget' => '
',
+ 'before_title' => '',
+ ) );
+ }
+ register_sidebar( array(
+ 'name' => __( 'Footer Rechts', 'minecraft-modern-theme' ),
+ 'id' => 'footer-right',
+ 'description' => __( 'Widget-Bereich rechts im Footer.', 'minecraft-modern-theme' ),
+ 'before_widget' => '',
+ 'after_widget' => '
',
+ 'before_title' => '',
+ ) );
+}
+add_action( 'widgets_init', 'minecraft_modern_footer_widgets' );
+
+// === FAQ Custom Post Type & Taxonomy ===
+function create_faq_post_type() {
+ // Nur registrieren, wenn im Customizer aktiviert
+ if ( get_theme_mod( 'faq_enabled', true ) ) {
+ register_post_type('faq',
+ array(
+ 'labels' => array(
+ 'name' => __( 'FAQs', 'minecraft-modern-theme' ),
+ 'singular_name' => __( 'FAQ', 'minecraft-modern-theme' ),
+ 'add_new' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
+ 'add_new_item' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
+ 'edit_item' => __( 'FAQ bearbeiten', 'minecraft-modern-theme' ),
+ 'new_item' => __( 'Neue FAQ', 'minecraft-modern-theme' ),
+ 'view_item' => __( 'FAQ ansehen', 'minecraft-modern-theme' ),
+ 'search_items' => __( 'FAQs durchsuchen', 'minecraft-modern-theme' ),
+ 'not_found' => __( 'Keine FAQs gefunden', 'minecraft-modern-theme' ),
+ 'not_found_in_trash' => __( 'Keine FAQs im Papierkorb gefunden', 'minecraft-modern-theme' ),
+ 'all_items' => __( 'Alle FAQs', 'minecraft-modern-theme' ),
+ ),
+ 'public' => true,
+ 'has_archive' => true, // Archiv-Seite /faq/ bleibt als Fallback
+ 'menu_icon' => 'dashicons-format-chat',
+ 'supports' => array( 'title', 'editor', 'page-attributes' ),
+ 'rewrite' => array( 'slug' => 'faq' ),
+ 'show_in_rest' => true,
+ )
+ );
+ register_taxonomy(
+ 'faq_category',
+ 'faq',
+ array(
+ 'label' => __( 'FAQ Kategorien', 'minecraft-modern-theme' ),
+ 'rewrite' => array( 'slug' => 'faq-kategorie' ),
+ 'hierarchical' => true,
+ 'show_in_rest' => true,
+ )
+ );
+ }
+}
+add_action('init', 'create_faq_post_type');
+
+// =============================================================================
+// NEU: Automatische "Home" Seitenerstellung und Zuweisung (kombiniert)
+// =============================================================================
+
+/**
+ * Erstellt die "Home" Seite und weist sie automatisch als statische Startseite zu,
+ * wenn das Theme aktiviert wird und noch keine Seite festgelegt ist.
+ */
+function set_static_front_page_automatically() {
+ // Nur ausführen, wenn noch keine statische Seite als Startseite festgelegt ist
+ if ( 'page' !== get_option( 'show_on_front' ) ) {
+
+ // Finde die "Home" Seite (oder erstelle sie, falls sie nicht existiert)
+ $home_page = get_page_by_title( 'Home' );
+ if ( ! $home_page ) {
+ // Seite erstellen, falls sie nicht existiert
+ $home_page_id = wp_insert_post( array(
+ 'post_title' => 'Home',
+ 'post_content' => 'Diese Seite dient als statische Startseite.',
+ 'post_status' => 'publish',
+ 'post_type' => 'page',
+ 'post_author' => 1,
+ ) );
+ } else {
+ $home_page_id = $home_page->ID;
+ }
+
+ // Setze die Seite als statische Startseite
+ if ( $home_page_id ) {
+ update_option( 'show_on_front', 'page' );
+ update_option( 'page_on_front', $home_page_id );
+ }
+ }
+}
+add_action( 'after_switch_theme', 'set_static_front_page_automatically' );
+
+
+/**
+ * Fügt eine Body-Klasse hinzu, um den Home-Titel per CSS auszublenden.
+ */
+function add_home_body_class( $classes ) {
+ // Prüfen, ob wir auf der Startseite sind und die Einstellung zum Ausblenden aktiv ist
+ if ( is_front_page() && !get_theme_mod( 'show_home_title', true ) ) {
+ $classes[] = 'home-title-hidden';
+ }
+ return $classes;
+}
+add_filter( 'body_class', 'add_home_body_class' );
+
+
+// =============================================================================
+// Automatische FAQ-Seitenerstellung und Template-Zuweisung
+// =============================================================================
+
+/**
+ * Erstellt automatisch eine "FAQ" Seite, wenn die FAQ-Funktion aktiviert wird.
+ */
+function create_faq_page_automatically() {
+ // Prüfen, ob die FAQ-Funktion aktiv ist
+ if ( get_theme_mod( 'faq_enabled', true ) ) {
+ // Prüfen, ob die Seite bereits existiert
+ if ( get_page_by_title( 'FAQ' ) == null ) {
+ // Seite erstellen
+ $new_page = array(
+ 'post_title' => 'FAQ',
+ 'post_content' => 'Diese Seite zeigt alle FAQs an. Der Inhalt wird automatisch generiert.',
+ 'post_status' => 'publish',
+ 'post_type' => 'page',
+ 'post_author' => 1,
+ );
+ // Seite in die Datenbank einfügen
+ wp_insert_post( $new_page );
+ }
+ }
+}
+// Diese Funktion wird ausgeführt, wenn der Customizer gespeichert wird.
+add_action( 'customize_save_after', 'create_faq_page_automatically' );
+
+
+/**
+ * Leitet Anfragen für die "FAQ" Seite auf unser spezielles Template um.
+ */
+function load_faq_page_template( $template ) {
+ // Prüfen, ob die FAQ-Funktion aktiv ist
+ if ( get_theme_mod( 'faq_enabled', true ) ) {
+ // Prüfen, ob wir uns auf einer Seite befinden
+ if ( is_page() ) {
+ global $post;
+ // Prüfen, ob der Titel der Seite "FAQ" ist
+ if ( $post && $post->post_title == 'FAQ' ) {
+ // Pfad zu unserem Template zurückgeben
+ return get_template_directory() . '/archive-faq.php';
+ }
+ }
+ }
+ // Standard-Template in allen anderen Fällen
+ return $template;
+}
+add_filter( 'template_include', 'load_faq_page_template' );
+