web-dev-qa-db-fra.com

Hériter des paramètres de plug-in sur un nouveau site dans Multisite

J'utilise le plugin Breadcrumb NavXT pour un WP Multisite. J'ai activé le plug-in pour tous les sites afin de pouvoir l'utiliser sur l'ensemble de mon réseau.

Mon problème est que chaque fois que j'ajoute un nouveau site, je dois modifier les paramètres par défaut du plug-in, mais j'aimerais que WP utilise les paramètres que j'ai déjà personnalisés pour le site principal, car sur tous les sites futurs. ils seraient les mêmes.

Existe-t-il un moyen de forcer WP à adopter les paramètres du plug-in du site principal?

5
user1706680

Bonne question!

Mais je laisserai au demandeur et au lecteur la tâche de trouver le nom des options du plugin .

Ceci peut être utilisé pour n'importe quel plugin/thème qui s'appuie sur une valeur unique/sérialisée de la table wp_options. Si ce n'est pas une valeur unique, c'est une autre tâche ...

Dans cet exemple, j'utilise WP-Pagenavioption_name.

wp-pagenavi option name

Un crochet d’action trouvé dans la fonction wpmu_create_blog dans le fichier /wp-includes/ms-functions.php.

add_action( 'wpmu_new_blog', 'wpse_70977_copy_main_site_options', 10, 6 );

function wpse_70977_copy_main_site_options( $blog_id, $user_id, $domain, $path, $site_id, $meta )
{
    $mainsite = get_option( 'pagenavi_options' );
    switch_to_blog( $blog_id );
    update_option( 'pagenavi_options', $mainsite );
    restore_current_blog();
}

Ce code est testé avec le plug-in activé sur une base par site et avec le plug-in activé par le réseau.

4
brasofilo