Files

74 lines
3.0 KiB
PHP

<?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 );
*/
?>