web-dev-qa-db-fra.com

Obtenez le fichier de modèle php d'un autre dossier de thème

Comment obtenir le fichier modèle PHP à partir d'un autre dossier de thème?


Par exemple :

Mon dossier de thème actuel est promax. Je travaille sur archive.php et souhaite inclure un fichier de modèle à l'intérieur de archive.php à partir d'un autre dossier appelé thème enfant promax-child' et un dossier à l'intérieur appelé includes contient un fichier archive-desc.php.

4
Enjay

Vous pouvez filtrer le modèle avec le filtre template_include . Cet exemple filtrera le modèle d'archive pour toutes les pages d'archive. Si vous avez besoin de faire cela pour une archive spécifique, utilisez is_post_type_archive( $post_types ) comme condition. Mettez ceci dans votre fichier functions.php de votre thème enfant.

function my_archive_filter( $template) {
    if ( is_archive() ) {
        return 'path/to/includes/archive-desc.php'; // Path to your child theme template.
    }
    else {
        return $template;
    }
}

apply_filters( 'template_include', 'my_archive_filter' );

Modifier: le modèle par défaut devrait maintenant être remplacé si le modèle personnalisé échoue pour une raison quelconque.

2
iyrin