web-dev-qa-db-fra.com

Champ personnalisé lors de l'ajout d'un nouveau site à WordPress en réseau multisite

J'ai une configuration multisite dans WordPress. Puis-je implémenter un champ personnalisé lorsque je crée un nouveau site dans Admin> Sites> Ajouter un nouveau. Mes options actuelles sont l'adresse du site, le titre du site, le courrier électronique de l'administrateur. J'aimerais ajouter un autre champ que je pourrais remplir pour être associé à ces nouveaux sites.

3
Mike

Désolé, mauvaise nouvelle.

Si vous regardez dans la base de code de WP 3.9 pour le fichier responsable PHP (qui est site-new.php ), vous verrez malheureusement que c'est tout. codé en dur, comme beaucoup de choses dans wp-admin, ce que IMHO craint totalement. :-(

La seule chose que vous puissiez faire est de créer votre propre page pour la création de site et de lui faire remplacer celle par défaut wordpress.


Pour vous permettre de commencer:

Le moyen le plus simple de le faire est d’utiliser add_menu_page () pour définir votre propre page de menu d’administrateur personnalisée.

add_menu_page( 'Add site', 'Add site', 'manage_options', 'cusom-new-site-page', function() {
        // your custom code for this page ...
});

La fonction permettant de créer un nouveau site est wpmu_create_blog () , mais vous pouvez également consulter le fichier existant pour connaître cette logique.

Après cela, vous pouvez utiliser add_rewrite_rule () pour ajouter une réécriture de la page existante à votre page personnalisée. Votre règle de réécriture pourrait ressembler à celle-ci:

RewriteRule ^(.*)/wp-admin/network/site-new.php $1/wp-admin/admin.php?page=cusom-new-site-page [L]
2
s1lv3r