Upload via GUI (5 Dateien)
This commit is contained in:
@@ -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;
|
||||||
@@ -38,7 +35,6 @@
|
|||||||
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;
|
||||||
@@ -91,4 +87,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php get_footer(); ?> <!-- HIER WIRD DER FOOTER EINGEBUNDEN -->
|
<?php get_footer(); ?>
|
||||||
@@ -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 |
@@ -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 */
|
|
||||||
Reference in New Issue
Block a user