Minecraft-Modern-Theme/functions.php aktualisiert

This commit is contained in:
2025-11-29 21:54:50 +00:00
parent 88dd9e8c45
commit 75af878db9

View File

@@ -47,6 +47,15 @@ function minecraft_modern_scripts() {
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',
@@ -86,13 +95,14 @@ function minecraft_modern_scripts() {
}
// Ü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',
'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')
)
@@ -188,9 +198,58 @@ function create_faq_post_type() {
}
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' );
// =============================================================================
// NEU: Automatische FAQ-Seitenerstellung und Template-Zuweisung
// Automatische FAQ-Seitenerstellung und Template-Zuweisung
// =============================================================================
/**
@@ -238,3 +297,4 @@ function load_faq_page_template( $template ) {
return $template;
}
add_filter( 'template_include', 'load_faq_page_template' );