web-dev-qa-db-fra.com

Comment contrôler la résolution du modèle si les filtres Auteur et Catégorie sont en place?

L'URL suivante résout le modèle de catégorie: http: // localhost/author/myusername /? Category_name = somecategory

J'ai un modèle category-somecategory.php et juste un modèle générique author.php. Existe-t-il un moyen de créer une telle URL en utilisant le modèle author.php au lieu du category-somecategory.php? Sinon, comment puis-je filtrer à la fois la catégorie et l'auteur et l'obliger à utiliser le modèle d'auteur?

2
Davy8

Vous pouvez changer le modèle chargé en le raccordant à template_include, en vérifiant si is_author et is_category sont tous deux définis, puis basculez le modèle pour l'inclure dans le modèle d'auteur.

Donnez un coup de feu ..

add_filter( 'template_include', 'my_template_setter' );
function my_template_setter( $template ) {
    if( is_author() && is_category() && is_archive() )
        $template = get_author_template();
    return $template;
}

Vous pouvez effectuer ici un nombre illimité de contrôles conditionnels avant de modifier le modèle chargé.

WordPress propose déjà plusieurs fonctions de récupération de modèles. J'en ai utilisé une dans l'exemple, mais voici une liste pour une référence rapide ...

get_404_template()
get_search_template()
get_taxonomy_template()
get_front_page_template()
get_home_template()
get_attachment_template()
get_single_template()
get_page_template()
get_category_template()
get_tag_template()
get_author_template()
get_date_template()
get_archive_template() 

J'espère que cela pourra aider..

3
t31os

On dirait que cela pourrait être fait avec Requêtes personnalisées .

0
matt