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
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// === 1. Stylesheets korrekt laden ===
function child_theme_enqueue_styles() {
// Lädt das Stylesheet des Parent Themes
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
// Lädt das Stylesheet des Child Themes (abhängig vom Parent-Style)
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'parent-style' ),
wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' );
// === 2. Nur das FAQ-Skript austauschen ===
function child_theme_swap_faq_script() {
// Entfernt das Skript, das das Parent Theme geladen hat
wp_deregister_script( 'faq-accordion-script' );
// Lädt Ihr neues, verbessertes Skript aus dem Child Theme
// Wir verwenden den gleichen Namen ('Handle'), um Konflikte zu vermeiden
wp_enqueue_script(
'faq-accordion-script', // Gleicher Name wie im Parent Theme
get_stylesheet_directory_uri() . '/js/faq-accordion.js', // Pfad zur neuen JS-Datei
array( 'jquery' ),
'1.0',
true
);
}
// 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 );
<?php
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* =============================================================================
* HAUPTFUNKTION: Stylesheets korrekt laden
* =============================================================================
*
* Diese Funktion lädt das Stylesheet des Parents zuerst.
* Danach wird das Stylesheet des Childs geladen.
* So können CSS-Regeln im Child Theme das Parent Theme gezielt überschreiben.
*/
function minecraft_modern_child_enqueue_styles() {
// 1. Das Stylesheet des Parent Themes laden
// get_template_directory_uri() zeigt auf den Ordner des Parent Themes.
// Der Handle 'minecraft-modern-style' sollte exakt dem im Parent übereinstimmen.
$parent_style = 'minecraft-modern-style';
wp_enqueue_style(
$parent_style,
get_template_directory_uri() . '/style.css',
array(),
wp_get_theme( get_template() )->get( 'Version' ) // WICHTIG: Wir nutzen die Version des Parents
);
// 2. Das Stylesheet des Child Themes laden
// get_stylesheet_directory_uri() zeigt auf den Ordner des Child Themes.
// Die Abhängigkeit 'parent-style' stellt sicher, dass es NACH dem Parent geladen wird.
wp_enqueue_style(
'minecraft-modern-child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get( 'Version' ) // Die Version des Childs (für Cache-Reset)
);
}
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 );
*/
?>