Minecraft-Modern-Theme-Child/functions.php aktualisiert

This commit is contained in:
2026-01-06 17:20:27 +00:00
parent 9a36bd94d0
commit 4b28dc465d

View File

@@ -1,42 +1,74 @@
<?php <?php
// Exit if accessed directly. // Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) { if ( ! defined( 'ABSPATH' ) ) {
exit; exit;
} }
// === 1. Stylesheets korrekt laden === /**
function child_theme_enqueue_styles() { * =============================================================================
// Lädt das Stylesheet des Parent Themes * HAUPTFUNKTION: Stylesheets korrekt laden
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); * =============================================================================
*
// Lädt das Stylesheet des Child Themes (abhängig vom Parent-Style) * Diese Funktion lädt das Stylesheet des Parents zuerst.
wp_enqueue_style( 'child-style', * Danach wird das Stylesheet des Childs geladen.
get_stylesheet_directory_uri() . '/style.css', * So können CSS-Regeln im Child Theme das Parent Theme gezielt überschreiben.
array( 'parent-style' ), */
wp_get_theme()->get('Version') function minecraft_modern_child_enqueue_styles() {
); // 1. Das Stylesheet des Parent Themes laden
} // get_template_directory_uri() zeigt auf den Ordner des Parent Themes.
add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' ); // Der Handle 'minecraft-modern-style' sollte exakt dem im Parent übereinstimmen.
$parent_style = 'minecraft-modern-style';
// === 2. Nur das FAQ-Skript austauschen === wp_enqueue_style(
function child_theme_swap_faq_script() { $parent_style,
// Entfernt das Skript, das das Parent Theme geladen hat get_template_directory_uri() . '/style.css',
wp_deregister_script( 'faq-accordion-script' ); array(),
wp_get_theme( get_template() )->get( 'Version' ) // WICHTIG: Wir nutzen die Version des Parents
// Lädt Ihr neues, verbessertes Skript aus dem Child Theme );
// Wir verwenden den gleichen Namen ('Handle'), um Konflikte zu vermeiden
wp_enqueue_script( // 2. Das Stylesheet des Child Themes laden
'faq-accordion-script', // Gleicher Name wie im Parent Theme // get_stylesheet_directory_uri() zeigt auf den Ordner des Child Themes.
get_stylesheet_directory_uri() . '/js/faq-accordion.js', // Pfad zur neuen JS-Datei // Die Abhängigkeit 'parent-style' stellt sicher, dass es NACH dem Parent geladen wird.
array( 'jquery' ), wp_enqueue_style(
'1.0', 'minecraft-modern-child-style',
true get_stylesheet_directory_uri() . '/style.css',
); array( $parent_style ),
} wp_get_theme()->get( 'Version' ) // Die Version des Childs (für Cache-Reset)
// Diese Funktion wird mit einer höheren Priorität (20) ausgeführt, );
// also NACHDEM das Parent Theme sein Skript geladen hat. }
add_action( 'wp_enqueue_scripts', 'child_theme_swap_faq_script', 20 ); add_action( 'wp_enqueue_scripts', 'minecraft_modern_child_enqueue_styles' );
/**
* =============================================================================
* (OPTIONAL) Beispiel: Ein Skript des Parent Themes überschreiben
* =============================================================================
*
* Falls du die Logik des Sliders (z.B. die slider-init.js) im Child Theme
* anpassen möchtest, könntest du diese Technik nutzen.
* Dies ist NUR NOTWENDIG, wenn du Änderungen am JavaScript des Sliders vornehmen willst.
*
* Um dies zu aktivieren, entferne die Slashs (/) am Anfang und Ende dieses Blocks.
*/
/*
function minecraft_modern_child_swap_faq_script() {
// Entfernt das Skript, das vom Parent Theme mit dem Handle 'faq-accordion-script' registriert wurde.
wp_deregister_script( 'faq-accordion-script' );
// Lädt dein neues Skript aus dem Child Theme.
// Wir verwenden denselben Namen ('Handle'), um WordPress klar zu machen,
// dass dieses Skript das Original ersetzt.
wp_enqueue_script(
'faq-accordion-script', // Derselbe Handle wie im Parent Theme
get_stylesheet_directory_uri() . '/js/faq-accordion.js', // Pfad zur neuen JS-Datei im Child Theme
array( 'jquery' ), // Abhängigkeiten (hier jQuery)
'1.0', // Version deines Skripts
true // Im Footer laden
);
}
// Diese Funktion wird mit einer höheren Priorität (20) ausgeführt,
// also NACHDEM das Parent Theme sein Skript geladen hat.
add_action( 'wp_enqueue_scripts', 'minecraft_modern_child_swap_faq_script', 20 );
*/
?> ?>