Cela semble être une exigence assez simple, mais j'ai du mal:
Je veux ajouter un champ d'option au "Ajouter un nouveau site" .
Une simple option de texte est très bien. Comment puis-je faire cela?Je dois enregistrer cette option de blog personnalisée lors de la création du site.
Je sais que je peux utiliser le hook 'wpmu_new_blog', qui transmet la
$meta
variable avec les options fournies, mais je me demande s'il y a un moyen de faire tout cela en une seule étape pour ne pas avoir à effectuer une autre requête DB, ou pire encore , remplacer / remplacer l'ensemble du processus de création de site?
Remarques:
J'utilise WP 3.3.1 avec une configuration MultiSite. J'écris un plugin qui répertorie tous les sites qui correspondent à la valeur de champ personnalisé spécifiée (appelons-le "type").
De plus, je suis un développeur PHP expérimenté mais je suis encore relativement nouveau dans le piratage de WordPress, alors supposez que je ne suis pas encore intimement familier avec toutes les différentes fonctions et crochets WP.
Le processus d'inscription multisite n'est pas une chose facile à modifier. Il a de nombreux crochets pour jouer, contrairement à d'autres processus, mais ils ne semblent pas trop bien se combiner pour une personnalisation lourde, donc je comprends votre frustration.
Si je comprends bien, ce n'est pas si compliqué de réaliser ce que vous voulez, même si cela ne peut pas être une solution en une étape sans remplacer une grande partie du comportement par défaut de WordPress, principalement en raison de l'inscription (c'est-à-dire lorsque votre utilisateur soumettra les informations personnalisées) et de l'activation ( c'est-à-dire quand le nouveau blog sera réellement créé) se produire séparément.
Voici un code très approximatif dont vous aurez besoin pour commencer. Espérons que cela vous oriente dans la bonne direction:
Gardez à l'esprit:
Sur une note finale, si vous souhaitez traiter toutes les valeurs «extra_field» de tous les blogs existants plus tard, je suggère fortement de stocker les informations sur une seule table; peut-être utiliser à la
update_site_option
place deupdate_blog_option
cette dernière fonction, perdant le blog_id, qui n'est pas requis dans ce cas.Quoi qu'il en soit, laissez-nous savoir comment ça se passe, et bonne chance!
la source
si vous regardez le code site-new.php, vous auriez déjà obtenu votre réponse - et ce n'est pas le cas!
Il n'y a aucune condition pour vérifier si quelque chose pourrait être ajouté au formulaire. Cependant, j'ai étudié le fichier et je pense que vous devrez ajouter manuellement ce champ de saisie dans site-new.php et passer la valeur en tant que méta dans le tableau à la fonction wpmu_create_blog que vous trouverez quelque part près de la ligne 77. NON TESTÉ mais en train de lire sur ce que fait la fonction, il peut être ce que vous recherchez.
la source