Minecraft-Modern-Theme/functions.php aktualisiert
This commit is contained in:
@@ -1,240 +1,300 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Exit if accessed directly.
|
// Exit if accessed directly.
|
||||||
if ( ! defined( 'ABSPATH' ) ) {
|
if ( ! defined( 'ABSPATH' ) ) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// === Theme Setup ===
|
// === Theme Setup ===
|
||||||
function minecraft_modern_setup() {
|
function minecraft_modern_setup() {
|
||||||
add_theme_support( 'title-tag' );
|
add_theme_support( 'title-tag' );
|
||||||
add_theme_support( 'post-thumbnails' );
|
add_theme_support( 'post-thumbnails' );
|
||||||
|
|
||||||
// Logo-Unterstützung aktivieren (Maximale Flexibilität)
|
// Logo-Unterstützung aktivieren (Maximale Flexibilität)
|
||||||
add_theme_support( 'custom-logo', array(
|
add_theme_support( 'custom-logo', array(
|
||||||
'height' => 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
|
'height' => 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
|
||||||
'width' => 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
|
'width' => 9999, // Sehr hohe Werte, um den Crop-Dialog zu umgehen
|
||||||
'flex-height' => true,
|
'flex-height' => true,
|
||||||
'flex-width' => true,
|
'flex-width' => true,
|
||||||
'header-text' => array( 'site-title', 'site-description' ),
|
'header-text' => array( 'site-title', 'site-description' ),
|
||||||
) );
|
) );
|
||||||
|
|
||||||
// Benutzerdefinierten Hintergrund aktivieren
|
// Benutzerdefinierten Hintergrund aktivieren
|
||||||
add_theme_support( 'custom-background' );
|
add_theme_support( 'custom-background' );
|
||||||
|
|
||||||
register_nav_menus( array(
|
register_nav_menus( array(
|
||||||
'primary' => __( 'Hauptmenü', 'minecraft-modern-theme' ),
|
'primary' => __( 'Hauptmenü', 'minecraft-modern-theme' ),
|
||||||
'footer' => __( 'Footer-Menü', 'minecraft-modern-theme' ),
|
'footer' => __( 'Footer-Menü', 'minecraft-modern-theme' ),
|
||||||
) );
|
) );
|
||||||
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
|
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
|
||||||
}
|
}
|
||||||
add_action( 'after_setup_theme', 'minecraft_modern_setup' );
|
add_action( 'after_setup_theme', 'minecraft_modern_setup' );
|
||||||
|
|
||||||
// === Styles & Scripts laden ===
|
// === Styles & Scripts laden ===
|
||||||
function minecraft_modern_scripts() {
|
function minecraft_modern_scripts() {
|
||||||
// Haupt-Stylesheet
|
// Haupt-Stylesheet
|
||||||
wp_enqueue_style( 'minecraft-modern-style', get_stylesheet_uri() );
|
wp_enqueue_style( 'minecraft-modern-style', get_stylesheet_uri() );
|
||||||
|
|
||||||
// Swiper.js CSS (von CDN)
|
// Swiper.js CSS (von CDN)
|
||||||
wp_enqueue_style( 'swiper-css', 'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css' );
|
wp_enqueue_style( 'swiper-css', 'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.css' );
|
||||||
|
|
||||||
// JavaScript für den Header-Scroll-Effekt
|
// JavaScript für den Header-Scroll-Effekt
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'minecraft-modern-header-script',
|
'minecraft-modern-header-script',
|
||||||
get_template_directory_uri() . '/js/header-scroll.js',
|
get_template_directory_uri() . '/js/header-scroll.js',
|
||||||
array(),
|
array(),
|
||||||
'1.0',
|
'1.0',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
// Swiper.js JS (von CDN)
|
// NEU: Ankündigungs-Skript laden
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'swiper-js',
|
'announcement-script',
|
||||||
'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js',
|
get_template_directory_uri() . '/js/announcement.js',
|
||||||
array(),
|
array(), // Keine Abhängigkeiten
|
||||||
'8.0.0',
|
'1.0',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
// Unsere eigene Slider-Initialisierungs-Datei
|
// Swiper.js JS (von CDN)
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'minecraft-modern-slider-script',
|
'swiper-js',
|
||||||
get_template_directory_uri() . '/js/slider-init.js',
|
'https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js',
|
||||||
array('swiper-js'), // Hängt von Swiper.js ab
|
array(),
|
||||||
'1.0',
|
'8.0.0',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
// NEU: Theme-Toggle-Skript laden
|
// Unsere eigene Slider-Initialisierungs-Datei
|
||||||
wp_enqueue_script(
|
wp_enqueue_script(
|
||||||
'theme-toggle-script',
|
'minecraft-modern-slider-script',
|
||||||
get_template_directory_uri() . '/js/theme-toggle.js',
|
get_template_directory_uri() . '/js/slider-init.js',
|
||||||
array(), // Keine Abhängigkeiten
|
array('swiper-js'), // Hängt von Swiper.js ab
|
||||||
'1.0',
|
'1.0',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
// FAQ Skript laden, wenn der Post-Type aktiv ist
|
// NEU: Theme-Toggle-Skript laden
|
||||||
if ( post_type_exists('faq') ) {
|
wp_enqueue_script(
|
||||||
wp_enqueue_script(
|
'theme-toggle-script',
|
||||||
'faq-accordion-script',
|
get_template_directory_uri() . '/js/theme-toggle.js',
|
||||||
get_template_directory_uri() . '/js/faq-accordion.js',
|
array(), // Keine Abhängigkeiten
|
||||||
array(),
|
'1.0',
|
||||||
'1.0',
|
true
|
||||||
true
|
);
|
||||||
);
|
|
||||||
}
|
// FAQ Skript laden, wenn der Post-Type aktiv ist
|
||||||
|
if ( post_type_exists('faq') ) {
|
||||||
// Übergebe ALLE Theme-Einstellungen an das JavaScript
|
wp_enqueue_script(
|
||||||
// KORREKTUR: Der Objektname muss 'sliderSettings' bleiben, damit slider-init.js funktioniert.
|
'faq-accordion-script',
|
||||||
wp_localize_script(
|
get_template_directory_uri() . '/js/faq-accordion.js',
|
||||||
'minecraft-modern-slider-script',
|
array(),
|
||||||
'sliderSettings',
|
'1.0',
|
||||||
array(
|
true
|
||||||
'hideArrows' => get_theme_mod( 'slider_hide_arrows', false ) ? '1' : '0',
|
);
|
||||||
'hidePagination' => get_theme_mod( 'slider_hide_pagination', false ) ? '1' : '0',
|
}
|
||||||
'defaultMode' => get_theme_mod( 'default_theme_mode', 'dark' ),
|
|
||||||
'ajax_url' => admin_url('admin-ajax.php')
|
// Übergebe ALLE Theme-Einstellungen an das JavaScript
|
||||||
)
|
wp_localize_script(
|
||||||
);
|
'minecraft-modern-slider-script',
|
||||||
|
'sliderSettings',
|
||||||
// === NEU & WICHTIG: Header-Skript-Informationen übergeben ===
|
array(
|
||||||
// Dies verhindert das Flackern im Customizer.
|
'hideArrows' => get_theme_mod( 'slider_hide_arrows', false ) ? '1' : '0',
|
||||||
wp_localize_script(
|
'hidePagination' => get_theme_mod( 'slider_hide_pagination', false ) ? '1' : '0',
|
||||||
'minecraft-modern-header-script', // <-- Richtiges Skript-Handle!
|
'effect' => get_theme_mod( 'slider_effect', 'fade' ),
|
||||||
'headerSettings', // <-- Neuer Objektname für Klarheit
|
'direction' => get_theme_mod( 'slider_direction', 'horizontal' ),
|
||||||
array(
|
'defaultMode' => get_theme_mod( 'default_theme_mode', 'dark' ),
|
||||||
'isCustomizer' => is_customize_preview()
|
'ajax_url' => admin_url('admin-ajax.php')
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
|
||||||
add_action( 'wp_enqueue_scripts', 'minecraft_modern_scripts' );
|
// === NEU & WICHTIG: Header-Skript-Informationen übergeben ===
|
||||||
|
// Dies verhindert das Flackern im Customizer.
|
||||||
// === Customizer-Datei laden ===
|
wp_localize_script(
|
||||||
require get_template_directory() . '/inc/customizer.php';
|
'minecraft-modern-header-script', // <-- Richtiges Skript-Handle!
|
||||||
|
'headerSettings', // <-- Neuer Objektname für Klarheit
|
||||||
// === Footer-Widgets registrieren ===
|
array(
|
||||||
function minecraft_modern_footer_widgets() {
|
'isCustomizer' => is_customize_preview()
|
||||||
register_sidebar( array(
|
)
|
||||||
'name' => __( 'Footer Links', 'minecraft-modern-theme' ),
|
);
|
||||||
'id' => 'footer-left',
|
}
|
||||||
'description' => __( 'Widget-Bereich links im Footer.', 'minecraft-modern-theme' ),
|
add_action( 'wp_enqueue_scripts', 'minecraft_modern_scripts' );
|
||||||
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
|
||||||
'after_widget' => '</div>',
|
// === Customizer-Datei laden ===
|
||||||
'before_title' => '<h4 class="widget-title">',
|
require get_template_directory() . '/inc/customizer.php';
|
||||||
'after_title' => '</h4>',
|
|
||||||
) );
|
// === Footer-Widgets registrieren ===
|
||||||
for ( $i = 1; $i <= 3; $i++ ) {
|
function minecraft_modern_footer_widgets() {
|
||||||
register_sidebar( array(
|
register_sidebar( array(
|
||||||
'name' => sprintf( __( 'Footer Spalte %d', 'minecraft-modern-theme' ), $i ),
|
'name' => __( 'Footer Links', 'minecraft-modern-theme' ),
|
||||||
'id' => 'footer-' . $i,
|
'id' => 'footer-left',
|
||||||
'description' => sprintf( __( 'Widget für die %d. Spalte im Footer.', 'minecraft-modern-theme' ), $i ),
|
'description' => __( 'Widget-Bereich links im Footer.', 'minecraft-modern-theme' ),
|
||||||
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
||||||
'after_widget' => '</div>',
|
'after_widget' => '</div>',
|
||||||
'before_title' => '<h4 class="widget-title">',
|
'before_title' => '<h4 class="widget-title">',
|
||||||
'after_title' => '</h4>',
|
'after_title' => '</h4>',
|
||||||
) );
|
) );
|
||||||
}
|
for ( $i = 1; $i <= 3; $i++ ) {
|
||||||
register_sidebar( array(
|
register_sidebar( array(
|
||||||
'name' => __( 'Footer Rechts', 'minecraft-modern-theme' ),
|
'name' => sprintf( __( 'Footer Spalte %d', 'minecraft-modern-theme' ), $i ),
|
||||||
'id' => 'footer-right',
|
'id' => 'footer-' . $i,
|
||||||
'description' => __( 'Widget-Bereich rechts im Footer.', 'minecraft-modern-theme' ),
|
'description' => sprintf( __( 'Widget für die %d. Spalte im Footer.', 'minecraft-modern-theme' ), $i ),
|
||||||
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
||||||
'after_widget' => '</div>',
|
'after_widget' => '</div>',
|
||||||
'before_title' => '<h4 class="widget-title">',
|
'before_title' => '<h4 class="widget-title">',
|
||||||
'after_title' => '</h4>',
|
'after_title' => '</h4>',
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
add_action( 'widgets_init', 'minecraft_modern_footer_widgets' );
|
register_sidebar( array(
|
||||||
|
'name' => __( 'Footer Rechts', 'minecraft-modern-theme' ),
|
||||||
// === FAQ Custom Post Type & Taxonomy ===
|
'id' => 'footer-right',
|
||||||
function create_faq_post_type() {
|
'description' => __( 'Widget-Bereich rechts im Footer.', 'minecraft-modern-theme' ),
|
||||||
// Nur registrieren, wenn im Customizer aktiviert
|
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
||||||
if ( get_theme_mod( 'faq_enabled', true ) ) {
|
'after_widget' => '</div>',
|
||||||
register_post_type('faq',
|
'before_title' => '<h4 class="widget-title">',
|
||||||
array(
|
'after_title' => '</h4>',
|
||||||
'labels' => array(
|
) );
|
||||||
'name' => __( 'FAQs', 'minecraft-modern-theme' ),
|
}
|
||||||
'singular_name' => __( 'FAQ', 'minecraft-modern-theme' ),
|
add_action( 'widgets_init', 'minecraft_modern_footer_widgets' );
|
||||||
'add_new' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
|
|
||||||
'add_new_item' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
|
// === FAQ Custom Post Type & Taxonomy ===
|
||||||
'edit_item' => __( 'FAQ bearbeiten', 'minecraft-modern-theme' ),
|
function create_faq_post_type() {
|
||||||
'new_item' => __( 'Neue FAQ', 'minecraft-modern-theme' ),
|
// Nur registrieren, wenn im Customizer aktiviert
|
||||||
'view_item' => __( 'FAQ ansehen', 'minecraft-modern-theme' ),
|
if ( get_theme_mod( 'faq_enabled', true ) ) {
|
||||||
'search_items' => __( 'FAQs durchsuchen', 'minecraft-modern-theme' ),
|
register_post_type('faq',
|
||||||
'not_found' => __( 'Keine FAQs gefunden', 'minecraft-modern-theme' ),
|
array(
|
||||||
'not_found_in_trash' => __( 'Keine FAQs im Papierkorb gefunden', 'minecraft-modern-theme' ),
|
'labels' => array(
|
||||||
'all_items' => __( 'Alle FAQs', 'minecraft-modern-theme' ),
|
'name' => __( 'FAQs', 'minecraft-modern-theme' ),
|
||||||
),
|
'singular_name' => __( 'FAQ', 'minecraft-modern-theme' ),
|
||||||
'public' => true,
|
'add_new' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
|
||||||
'has_archive' => true, // Archiv-Seite /faq/ bleibt als Fallback
|
'add_new_item' => __( 'Neue FAQ hinzufügen', 'minecraft-modern-theme' ),
|
||||||
'menu_icon' => 'dashicons-format-chat',
|
'edit_item' => __( 'FAQ bearbeiten', 'minecraft-modern-theme' ),
|
||||||
'supports' => array( 'title', 'editor', 'page-attributes' ),
|
'new_item' => __( 'Neue FAQ', 'minecraft-modern-theme' ),
|
||||||
'rewrite' => array( 'slug' => 'faq' ),
|
'view_item' => __( 'FAQ ansehen', 'minecraft-modern-theme' ),
|
||||||
'show_in_rest' => true,
|
'search_items' => __( 'FAQs durchsuchen', 'minecraft-modern-theme' ),
|
||||||
)
|
'not_found' => __( 'Keine FAQs gefunden', 'minecraft-modern-theme' ),
|
||||||
);
|
'not_found_in_trash' => __( 'Keine FAQs im Papierkorb gefunden', 'minecraft-modern-theme' ),
|
||||||
register_taxonomy(
|
'all_items' => __( 'Alle FAQs', 'minecraft-modern-theme' ),
|
||||||
'faq_category',
|
),
|
||||||
'faq',
|
'public' => true,
|
||||||
array(
|
'has_archive' => true, // Archiv-Seite /faq/ bleibt als Fallback
|
||||||
'label' => __( 'FAQ Kategorien', 'minecraft-modern-theme' ),
|
'menu_icon' => 'dashicons-format-chat',
|
||||||
'rewrite' => array( 'slug' => 'faq-kategorie' ),
|
'supports' => array( 'title', 'editor', 'page-attributes' ),
|
||||||
'hierarchical' => true,
|
'rewrite' => array( 'slug' => 'faq' ),
|
||||||
'show_in_rest' => true,
|
'show_in_rest' => true,
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
register_taxonomy(
|
||||||
}
|
'faq_category',
|
||||||
add_action('init', 'create_faq_post_type');
|
'faq',
|
||||||
|
array(
|
||||||
|
'label' => __( 'FAQ Kategorien', 'minecraft-modern-theme' ),
|
||||||
// =============================================================================
|
'rewrite' => array( 'slug' => 'faq-kategorie' ),
|
||||||
// NEU: Automatische FAQ-Seitenerstellung und Template-Zuweisung
|
'hierarchical' => true,
|
||||||
// =============================================================================
|
'show_in_rest' => true,
|
||||||
|
)
|
||||||
/**
|
);
|
||||||
* Erstellt automatisch eine "FAQ" Seite, wenn die FAQ-Funktion aktiviert wird.
|
}
|
||||||
*/
|
}
|
||||||
function create_faq_page_automatically() {
|
add_action('init', 'create_faq_post_type');
|
||||||
// Prüfen, ob die FAQ-Funktion aktiv ist
|
|
||||||
if ( get_theme_mod( 'faq_enabled', true ) ) {
|
// =============================================================================
|
||||||
// Prüfen, ob die Seite bereits existiert
|
// NEU: Automatische "Home" Seitenerstellung und Zuweisung (kombiniert)
|
||||||
if ( get_page_by_title( 'FAQ' ) == null ) {
|
// =============================================================================
|
||||||
// Seite erstellen
|
|
||||||
$new_page = array(
|
/**
|
||||||
'post_title' => 'FAQ',
|
* Erstellt die "Home" Seite und weist sie automatisch als statische Startseite zu,
|
||||||
'post_content' => 'Diese Seite zeigt alle FAQs an. Der Inhalt wird automatisch generiert.',
|
* wenn das Theme aktiviert wird und noch keine Seite festgelegt ist.
|
||||||
'post_status' => 'publish',
|
*/
|
||||||
'post_type' => 'page',
|
function set_static_front_page_automatically() {
|
||||||
'post_author' => 1,
|
// Nur ausführen, wenn noch keine statische Seite als Startseite festgelegt ist
|
||||||
);
|
if ( 'page' !== get_option( 'show_on_front' ) ) {
|
||||||
// Seite in die Datenbank einfügen
|
|
||||||
wp_insert_post( $new_page );
|
// Finde die "Home" Seite (oder erstelle sie, falls sie nicht existiert)
|
||||||
}
|
$home_page = get_page_by_title( 'Home' );
|
||||||
}
|
if ( ! $home_page ) {
|
||||||
}
|
// Seite erstellen, falls sie nicht existiert
|
||||||
// Diese Funktion wird ausgeführt, wenn der Customizer gespeichert wird.
|
$home_page_id = wp_insert_post( array(
|
||||||
add_action( 'customize_save_after', 'create_faq_page_automatically' );
|
'post_title' => 'Home',
|
||||||
|
'post_content' => 'Diese Seite dient als statische Startseite.',
|
||||||
|
'post_status' => 'publish',
|
||||||
/**
|
'post_type' => 'page',
|
||||||
* Leitet Anfragen für die "FAQ" Seite auf unser spezielles Template um.
|
'post_author' => 1,
|
||||||
*/
|
) );
|
||||||
function load_faq_page_template( $template ) {
|
} else {
|
||||||
// Prüfen, ob die FAQ-Funktion aktiv ist
|
$home_page_id = $home_page->ID;
|
||||||
if ( get_theme_mod( 'faq_enabled', true ) ) {
|
}
|
||||||
// Prüfen, ob wir uns auf einer Seite befinden
|
|
||||||
if ( is_page() ) {
|
// Setze die Seite als statische Startseite
|
||||||
global $post;
|
if ( $home_page_id ) {
|
||||||
// Prüfen, ob der Titel der Seite "FAQ" ist
|
update_option( 'show_on_front', 'page' );
|
||||||
if ( $post && $post->post_title == 'FAQ' ) {
|
update_option( 'page_on_front', $home_page_id );
|
||||||
// Pfad zu unserem Template zurückgeben
|
}
|
||||||
return get_template_directory() . '/archive-faq.php';
|
}
|
||||||
}
|
}
|
||||||
}
|
add_action( 'after_switch_theme', 'set_static_front_page_automatically' );
|
||||||
}
|
|
||||||
// Standard-Template in allen anderen Fällen
|
|
||||||
return $template;
|
/**
|
||||||
}
|
* Fügt eine Body-Klasse hinzu, um den Home-Titel per CSS auszublenden.
|
||||||
add_filter( 'template_include', 'load_faq_page_template' );
|
*/
|
||||||
|
function add_home_body_class( $classes ) {
|
||||||
|
// Prüfen, ob wir auf der Startseite sind und die Einstellung zum Ausblenden aktiv ist
|
||||||
|
if ( is_front_page() && !get_theme_mod( 'show_home_title', true ) ) {
|
||||||
|
$classes[] = 'home-title-hidden';
|
||||||
|
}
|
||||||
|
return $classes;
|
||||||
|
}
|
||||||
|
add_filter( 'body_class', 'add_home_body_class' );
|
||||||
|
|
||||||
|
|
||||||
|
// =============================================================================
|
||||||
|
// Automatische FAQ-Seitenerstellung und Template-Zuweisung
|
||||||
|
// =============================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Erstellt automatisch eine "FAQ" Seite, wenn die FAQ-Funktion aktiviert wird.
|
||||||
|
*/
|
||||||
|
function create_faq_page_automatically() {
|
||||||
|
// Prüfen, ob die FAQ-Funktion aktiv ist
|
||||||
|
if ( get_theme_mod( 'faq_enabled', true ) ) {
|
||||||
|
// Prüfen, ob die Seite bereits existiert
|
||||||
|
if ( get_page_by_title( 'FAQ' ) == null ) {
|
||||||
|
// Seite erstellen
|
||||||
|
$new_page = array(
|
||||||
|
'post_title' => 'FAQ',
|
||||||
|
'post_content' => 'Diese Seite zeigt alle FAQs an. Der Inhalt wird automatisch generiert.',
|
||||||
|
'post_status' => 'publish',
|
||||||
|
'post_type' => 'page',
|
||||||
|
'post_author' => 1,
|
||||||
|
);
|
||||||
|
// Seite in die Datenbank einfügen
|
||||||
|
wp_insert_post( $new_page );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Diese Funktion wird ausgeführt, wenn der Customizer gespeichert wird.
|
||||||
|
add_action( 'customize_save_after', 'create_faq_page_automatically' );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leitet Anfragen für die "FAQ" Seite auf unser spezielles Template um.
|
||||||
|
*/
|
||||||
|
function load_faq_page_template( $template ) {
|
||||||
|
// Prüfen, ob die FAQ-Funktion aktiv ist
|
||||||
|
if ( get_theme_mod( 'faq_enabled', true ) ) {
|
||||||
|
// Prüfen, ob wir uns auf einer Seite befinden
|
||||||
|
if ( is_page() ) {
|
||||||
|
global $post;
|
||||||
|
// Prüfen, ob der Titel der Seite "FAQ" ist
|
||||||
|
if ( $post && $post->post_title == 'FAQ' ) {
|
||||||
|
// Pfad zu unserem Template zurückgeben
|
||||||
|
return get_template_directory() . '/archive-faq.php';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Standard-Template in allen anderen Fällen
|
||||||
|
return $template;
|
||||||
|
}
|
||||||
|
add_filter( 'template_include', 'load_faq_page_template' );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user