web-dev-qa-db-fra.com

Désactiver le modèle front-page.php

J'utilise front-page.php sur mon modèle pour afficher la page d'accueil. Mais je veux désactiver si l'utilisateur utilise une autre page pour la page d'accueil à partir des paramètres. Y a-t-il une solution? Lorsque l'utilisateur sélectionne une page dans les paramètres de la page d'accueil, elle ne s'affiche pas et front-page.php est chargé. Je veux qu'il soit désactivé dynamiquement. Désolé pour mon mauvais anglais.

1
user3364610

Peut être template_include filtre ferait le travail pour vous. Quelque chose dans ce sens,

function prefix_another_front_page_template( $template ) {    
    if ( is_front_page() ) {
        $another_front_page_template = 'something.php'; // adjust as needed
        $new_template = locate_template( array( $another_front_page_template ) );
        if ( !empty( $new_template ) ) {
            return $new_template;
        }
    }    
    return $template;
}
add_filter( 'template_include', 'prefix_another_front_page_template', 99 );
2
Antti Koskinen

N'utilisez alors pas front-page.php. Comme vous pouvez le voir dans la hiérarchie des modèles si l'utilisateur ne sélectionne pas de page d'accueil, home.php sera utilisé. Vous pouvez donc l'utiliser pour la page d'accueil si un utilisateur n'a pas de jeu de pages, puis si vous n'incluez pas front-page.php dans votre modèle, le thème reviendra au modèle de page par défaut s'il sélectionne une feuille.

0
Jacob Peattie