Upload via GUI (5 Dateien)

This commit is contained in:
2026-08-13 21:23:43 +00:00
parent 5e0c026da0
commit d1057b513e
4 changed files with 223 additions and 148 deletions
+7 -11
View File
@@ -1,9 +1,8 @@
<?php get_header(); ?> <!-- HIER WIRD DER HEADER EINGEBUNDEN --> <?php get_header(); ?>
<div class="container site-main"> <div class="container site-main">
<div class="content-area"> <div class="content-area">
<!-- Hülle um den gesamten FAQ-Inhalt für einen festen Hintergrund -->
<div class="faq-archive-container"> <div class="faq-archive-container">
<header class="page-header"> <header class="page-header">
@@ -12,16 +11,14 @@
</header> </header>
<?php <?php
// Alle FAQ-Kategorien abrufen
$categories = get_terms( array( $categories = get_terms( array(
'taxonomy' => 'faq_category', 'taxonomy' => 'faq_category',
'orderby' => 'name', 'orderby' => 'name',
'order' => 'ASC' 'order' => 'ASC',
) ); ) );
if ( ! empty( $categories ) && ! is_wp_error( $categories ) ) : ?> if ( ! empty( $categories ) && ! is_wp_error( $categories ) ) : ?>
<!-- Tab-Navigation -->
<ul class="faq-tabs"> <ul class="faq-tabs">
<?php <?php
$is_first = true; $is_first = true;
@@ -34,11 +31,10 @@
</button> </button>
</li> </li>
<?php <?php
$is_first = false; $is_first = false;
endforeach; ?> endforeach; ?>
</ul> </ul>
<!-- Container für alle Tab-Inhalte -->
<div class="faq-tab-content-container"> <div class="faq-tab-content-container">
<?php <?php
$is_first_pane = true; $is_first_pane = true;
@@ -58,8 +54,8 @@
'terms' => $category->slug, 'terms' => $category->slug,
), ),
), ),
'orderby' => 'menu_order', 'orderby' => 'menu_order',
'order' => 'ASC', 'order' => 'ASC',
) ); ) );
if ( $faqs->have_posts() ) : ?> if ( $faqs->have_posts() ) : ?>
@@ -78,7 +74,7 @@
</div> </div>
<?php <?php
$is_first_pane = false; $is_first_pane = false;
endforeach; ?> endforeach; ?>
</div> </div>
@@ -91,4 +87,4 @@
</div> </div>
</div> </div>
<?php get_footer(); ?> <!-- HIER WIRD DER FOOTER EINGEBUNDEN --> <?php get_footer(); ?>
+9 -46
View File
@@ -9,66 +9,29 @@ if ( ! defined( 'ABSPATH' ) ) {
* ============================================================================= * =============================================================================
* HAUPTFUNKTION: Stylesheets korrekt laden * 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() { 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'; $parent_style = 'minecraft-modern-style';
// Cache-Busting über filemtime() statt der statischen Theme-Version:
// sonst liefern Browser nach einer CSS-Änderung weiter die alte Datei aus.
wp_enqueue_style( wp_enqueue_style(
$parent_style, $parent_style,
get_template_directory_uri() . '/style.css', get_template_directory_uri() . '/style.css',
array(), array(),
wp_get_theme( get_template() )->get( 'Version' ) // WICHTIG: Wir nutzen die Version des Parents filemtime( get_template_directory() . '/style.css' )
); );
// 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( wp_enqueue_style(
'minecraft-modern-child-style', 'minecraft-modern-child-style',
get_stylesheet_directory_uri() . '/style.css', get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ), array( $parent_style ),
wp_get_theme()->get( 'Version' ) // Die Version des Childs (für Cache-Reset) filemtime( get_stylesheet_directory() . '/style.css' )
); );
// BUG-FIX: Der Nav-Fix-CSS für .submenu-toggle (Desktop-Ausblendung) stand
// bereits vollständig in child/style.css. Das wp_add_inline_style() hier
// hat exakt denselben CSS-Block ein zweites Mal in den <head> injiziert.
// Entfernt style.css ist die einzige Quelle der Wahrheit.
} }
add_action( 'wp_enqueue_scripts', 'minecraft_modern_child_enqueue_styles' ); 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 );
*/
?>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

+146 -30
View File
@@ -1,4 +1,89 @@
/* /*
Theme Name: Minecraft Modern Theme Child
Theme URI: https://git.viper.ipv64.net/M_Viper/Minecraft-Modern-Theme
Description: Ein Child Theme für das Minecraft Modern Theme.
Author: M_Viper
Author URI: https://M-Viper.de
Template: Minecraft-Modern-Theme
Version: 1.1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: minecraft-modern-theme-child
*/
/* ===================================================================
SIDEBAR FLYOUT: Sichtbarkeit
=================================================================== */
/* Standardmäßig versteckt aber NICHT display:none damit
getBoundingClientRect() korrekte Werte liefert */
.header-sidebar .sub-menu {
opacity: 0 !important;
pointer-events: none !important;
display: block !important;
transition: opacity 0.15s ease !important;
}
/* Sichtbar wenn li gehoverd oder flyout-open gesetzt */
.header-sidebar .primary-menu > li.menu-item-has-children:hover > .sub-menu,
.header-sidebar .primary-menu > li.menu-item-has-children.flyout-open > .sub-menu,
.header-sidebar .menu-item.active > .sub-menu {
opacity: 1 !important;
pointer-events: auto !important;
}
/* ===================================================================
FAQ TABS
=================================================================== */
.faq-tab-content-container { display: grid; }
.faq-tab-pane {
grid-area: 1 / 1 / 2 / 2;
opacity: 0;
pointer-events: none;
transition: opacity 0.4s ease-in-out;
}
.faq-tab-pane.active { opacity: 1; pointer-events: auto; }
/* ===================================================================
SLIDER
=================================================================== */
.hero-slider { opacity: 0; transition: opacity 0.4s ease-in-out; }
.hero-slider.swiper-initialized { opacity: 1; }
/* ===================================================================
NAVIGATION: submenu-toggle auf Desktop nur für Classic/Centered/Mega
ausblenden — Sidebar-Layout braucht den Button
=================================================================== */
@media (min-width: 993px) {
.site-header--classic .submenu-toggle,
.site-header--centered .submenu-toggle,
.site-header--mega .submenu-toggle {
display: none !important;
width: 0 !important;
height: 0 !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
pointer-events: none !important;
}
}
@media (max-width: 992px) {
.submenu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
background: none;
border: none;
cursor: pointer;
padding: 4px 8px;
color: inherit;
font-size: 0.8em;
}
.menu-item-has-children.active > .submenu-toggle i {
transform: rotate(180deg);
}
}/*
Theme Name: Minecraft Modern Theme Child Theme Name: Minecraft Modern Theme Child
Theme URI: https://git.viper.ipv64.net/M_Viper/Minecraft-Modern-Theme Theme URI: https://git.viper.ipv64.net/M_Viper/Minecraft-Modern-Theme
Description: Ein Child Theme für das Minecraft Modern Theme. Description: Ein Child Theme für das Minecraft Modern Theme.
@@ -11,45 +96,76 @@
Text Domain: minecraft-modern-theme-child Text Domain: minecraft-modern-theme-child
*/ */
/* =Hier kommen Ihre CSS-Anpassungen hin /* ===================================================================
-------------------------------------------------------------- */ SIDEBAR FLYOUT: Sichtbarkeit
=================================================================== */
/* Kopieren Sie Ihre geänderten CSS-Regeln hierhin. /* Standardmäßig versteckt aber NICHT display:none damit
Zum Beispiel die neuen Regeln für die FAQ-Tabs: getBoundingClientRect() korrekte Werte liefert */
*/ .header-sidebar .sub-menu {
.faq-tab-content-container { opacity: 0 !important;
display: grid; /* Wichtig: Erzeugt ein Gitter-Layout */ pointer-events: none !important;
/* Alle direkten Kinder (.faq-tab-pane) werden automatisch auf die gleiche Höhe gesetzt */ display: block !important;
transition: opacity 0.15s ease !important;
} }
.faq-tab-pane { /* Sichtbar wenn li gehoverd oder flyout-open gesetzt */
/* Grid-Item-Styling */ .header-sidebar .primary-menu > li.menu-item-has-children:hover > .sub-menu,
grid-area: 1 / 1 / 2 / 2; /* Alle Panes belegen dieselbe Gitterzelle */ .header-sidebar .primary-menu > li.menu-item-has-children.flyout-open > .sub-menu,
.header-sidebar .menu-item.active > .sub-menu {
/* Visuelles Ein- und Ausblenden */ opacity: 1 !important;
opacity: 0; /* Standardmäßig unsichtbar */ pointer-events: auto !important;
pointer-events: none; /* Nicht klickbar, wenn unsichtbar */
transition: opacity 0.4s ease-in-out;
}
.faq-tab-pane.active {
opacity: 1; /* Sichtbar machen */
pointer-events: auto; /* Wieder klickbar machen */
} }
/* =================================================================== /* ===================================================================
LAYOUT-SHIFT-FIX: Slider verstecken, bis er initialisiert ist FAQ TABS
=================================================================== */ =================================================================== */
.hero-slider { .faq-tab-content-container { display: grid; }
/* Verstecke den Slider initial, um ein "Zusammenschnappen" zu verhindern */ .faq-tab-pane {
grid-area: 1 / 1 / 2 / 2;
opacity: 0; opacity: 0;
/* Füge einen sanften Übergangseffekt für das Einblenden hinzu */ pointer-events: none;
transition: opacity 0.4s ease-in-out; transition: opacity 0.4s ease-in-out;
} }
.faq-tab-pane.active { opacity: 1; pointer-events: auto; }
/* Diese Klasse wird vom JavaScript hinzugefügt, wenn der Slider bereit ist */ /* ===================================================================
.hero-slider.swiper-initialized { SLIDER
/* Mache den Slider sichtbar */ =================================================================== */
opacity: 1; .hero-slider { opacity: 0; transition: opacity 0.4s ease-in-out; }
.hero-slider.swiper-initialized { opacity: 1; }
/* ===================================================================
NAVIGATION: submenu-toggle auf Desktop nur für Classic/Centered/Mega
ausblenden — Sidebar-Layout braucht den Button
=================================================================== */
@media (min-width: 993px) {
.site-header--classic .submenu-toggle,
.site-header--centered .submenu-toggle,
.site-header--mega .submenu-toggle {
display: none !important;
width: 0 !important;
height: 0 !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
pointer-events: none !important;
}
}
@media (max-width: 992px) {
.submenu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
background: none;
border: none;
cursor: pointer;
padding: 4px 8px;
color: inherit;
font-size: 0.8em;
}
.menu-item-has-children.active > .submenu-toggle i {
transform: rotate(180deg);
}
} }
/* Fügen Sie hier zukünftig weiteres eigenes CSS hinzu */