je crée un thème qui crée des pages et définit des méta-valeurs et une extension d'activation du thème. Tout fonctionne très bien mais ...
J'ai besoin d'insérer quelques termes pour misc cpt dans une installation multisite.
J'ai essayé cette méthode:
switch_to_blog($blog_id);
wp_insert_term($move_type, 'jobtype');
restore_current_blog();
ne fonctionne pas. Des idées, ça vous tente?
Même une méthode DB serait géniale si vous en aviez une.
Je ne sais pas comment vous activez le thème sur le réseau, mais je considère ici le cas de l’installation d’un nouveau thème sur un réseau existant.
L'activation du thème sur un site unique insère le terme pour chaque site du réseau mais, bien sûr, le code d'enregistrement de la taxonomie devrait déjà y figurer.
Considérez cet exemple
function after_switch_theme_callback() {
$blogs = wp_get_sites(); //Array of site Ids
foreach ($blogs as $blog) {
if (!empty($blog['blog_id'])) {
switch_to_blog($blog['blog_id']);
wp_insert_term('myTerm '.$blog['blog_id'], 'genre');
restore_current_blog();
}
}
}
add_action('after_switch_theme', 'after_switch_theme_callback');
Cela me semble bien fonctionner.
Remarque:
Enregistrez votre taxonomie sur l'action
init
pour pouvoir insérer les termes ultérieurs sur l'actionafter_switch_theme
.