web-dev-qa-db-fra.com

Modèles de sous-catégorie

J'ai hérité d'un site Wordpress créé par mon entreprise avant de commencer à travailler ici. J'irais poser cette question au gars qui l'a construite, mais il a maintenant quitté l'entreprise.

Ma requête concerne des modèles personnalisés pour les catégories wordpress. Je sais que vous pouvez créer un fichier de modèle appelé category-.php. Lorsque cette catégorie est utilisée, elle utilise ce modèle personnalisé. Dans ce cas, le fichier s'appelle 'category-limousin-magazine.php'

Cela fonctionne très bien - mes problèmes concernent les sous-catégories de cette catégorie, c'est-à-dire que dans Limousin Magazine, j'ai les catégories de 2011, 2010, 2009, 2008, 2007 et 2006. D'une manière ou d'une autre, lors de la construction du site, il a pu pour que toutes ces sous-catégories utilisent le modèle 'category-limousin-magazine-templates.php' - mais je ne peux pas comprendre comment il l'a fait, comme lorsque je gère le site actuel, à côté d'une copie d'archive du site précédemment, le fichier category-limousin-magazine-templates.php est totalement ignoré.

J'ai donc l'une des deux questions suivantes: tout d'abord, existe-t-il un moyen simple de faire en sorte que plusieurs catégories utilisent un seul fichier de modèle ou, à défaut, quel est le meilleur moyen d'obtenir plusieurs catégories (potentiellement dynamiques) en utilisant un modèle personnalisé? .

Je vous remercie.

1
Daniel Hollands

J'ai trouvé la réponse - c'était dans le fichier function.php - je devais simplement mettre à jour l'ID de la catégorie (histoire longue):

function inherit_template()
{
    if (is_category())
    {
        $catid = get_query_var('cat');
        $cat = &get_category($catid);
        $parent = $cat->category_parent;
        $cat = &get_category($parent);
        if ($cat->cat_ID == 215)
        {
            if (file_exists(TEMPLATEPATH . '/category-limousin-magazine-templates.php'))
            {
                include (TEMPLATEPATH . '/category-limousin-magazine-templates.php');
                exit;
            }
        }
    }
}

add_action('template_redirect', 'inherit_template', 1);
2
Daniel Hollands