WordPress : WP : est-il possible de modifier les fonctions is_front_page() et is_home()

Publié par Jean-Michel le

J’ai divisé mon site Web en affichages pour femmes et hommes, et maintenant je m’inquiète pour les fonctions is_front_page()et is_home().

Avant ce changement, je n’avais www.site.comqu’à être la première page, maintenant j’ai aussi www.site.com/menet www.site.com/women, et je veux qu’ils soient également reconnus comme des premières pages.

J’ai pensé à créer une nouvelle classe My_Query extends WP_Queryet à remplacer ces fonctions.

Est-ce une mauvaise idée? Existe-t-il un meilleur moyen?

Solution n°1 trouvée

C’est une bonne idée d’implémenter a classqui est hérité de WP_Query, mais je pense que vous devriez toujours prendre en charge l’ancienne fonctionnalité pour le cas où vous en avez besoin, même si vous ne voyez pas un tel scénario en ce moment. Vous devriez avoir quelque chose comme ça :

class My_Query extends WP_Query {
    //...
    public function is_home($default = true) {
        if ($default) {
            return parent::is_home();
        } else {
            //Implement your custom case
        }
    }

    public function is_front_page($default = true) {
        if ($default) {
            return parent::is_front_page();
        } else {
            //Implement your custom case
        }
    }
    //...
}

Vous pouvez avoir un falsefor $defaultpar défaut si cela convient mieux à vos besoins. Cette approche serait également compatible avec les futures versions de WordPress, du moins lorsque vous l’utilisez par défaut.

Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *