Introduction
Les bases
Les plugins incontournables
Travaux pratiques
Installation et configuration du projetRéservé aux membres premiums
16 min
En tête et pied de pageRéservé aux membres premiums
42 min
La page actualitésRéservé aux membres premiums
36 min
La single actualitéRéservé aux membres premiums
56 min
Gestion des biensRéservé aux membres premiums
25 min
Single d'un bienRéservé aux membres premiums
26 min
Listing des biensRéservé aux membres premiums
26 min
Correction du menuRéservé aux membres premiums
10 min
Recherche des biensRéservé aux membres premiums
24 min
Page d'accueilRéservé aux membres premiums
55 min
Formulaire de contactRéservé aux membres premiums
19 min

Dans ce chapitre je vous propose de répondre à une question qui a été posée par un utilisateur sur la vidéo concernant la taxonomie.

Est-il possible de créer automatiquement à l’installation de WP les noms des catégories que l’on souhaiterait sans avoir à passer par le panneau d’administration. Par exemple créer automatiquement : football, tennis, etc ?

Même si il n'est pas forcément difficile de trouver la fonction qui permet d'insérer des mots clef, on peut se demander où placer la logique. Il faudrait détecter lorsque le thème est activé par l'utilisateur et insérer les données de base à ce moment là.

after_switch_theme

Il est possible de détecter lorsque notre thème est activé gràce au hook after_switch_theme.

add_action('after_switch_theme', function () {
    wp_insert_term('Football', 'sport');
    wp_insert_term('Football', 'sport');
});

Ici la fonction wp_insert_term() ne créera pas de doublon car elle vérifie l'existence du mot clef mais si vous utilisez une logique différente pensez à ne pas créer de doublons car il est possible que cette fonction soit appelée plusieurs fois si l'utilisateur change plusieurs fois de thème.
Aussi, si vous utilisez des types de contenu personnalisés je vous conseille d'appeler la fonction flush_rewrite_rules() qui va permettre de rafraichir les règles d'écritures et assurer la prise en compte de vos règle de redirection.

add_action('after_switch_theme', 'flush_rewrite_rules');
add_action('switch_theme', 'flush_rewrite_rules');