Référence à API de paramètres dans multisite - Message de mise à jour manquant
Il est écrit que:
Pour les pages d'option réseau, l'URL d'action de formulaire correcte est la suivante:
wp-admin/network/edit.php? action = votre_nom_option
Note: sans '/' devant
D'accord. Essayons:
<form method="post" action="wp-admin/network/edit.php?action=your_option_page">
Évidemment, mon formulaire d’options est effectivement soumis à:
http://votredomaine.com/wp-admin/network/wp-admin/network/edit.php?action=your_option_page
Maintenant, ajoutez un '/' devant:
<form method="post" action="/wp-admin/network/edit.php?action=your_option_page">
Envoie le formulaire (correctement) à:
http://votredomaine.com/wp-admin/network/edit.php?action=votre_option_page
C'est vrai dans la plupart des cas, je pense?
Cependant, certains utilisateurs de mon plugin m'ont fait savoir qu'ils l'obtenaient lorsqu'ils soumettaient le formulaire d'options:
Introuvable L'URL demandée /wp-admin/network/edit.php est introuvable sur ce serveur.
Cela est-il dû à une configuration de serveur incorrecte pour cet utilisateur, ou devrais-je réellement m'en tenir à l'URL d'action de formulaire suivante pour le faire fonctionner avec des chemins d'accès différents:
<form method="post" action="edit.php?action=your_option_page">
Le formulaire est toujours soumis à l'URL correcte:
http://votredomaine.com/wp-admin/network/edit.php?page=votre_option_page
Est-ce que cette dernière URL d'action de formulaire fonctionnerait dans tous les chemins d'installation pris en charge par wordpress? (avec sous-domaines, chemins de répertoire, etc.). Qu'en est-il des différents serveurs Web: Apache, Nginx, IIS
votredomaine.com votredomaine.com/wordpress/sousdomaine.votredomaine.com sousdomaine/votredomaine.com/wordpress /
Lorsque vous faites référence à des URL dans l’administrateur réseau, vous devez considérer la fonction network_admin_url()
. fonction principale, qui retourne à admin_url()
pour les configurations non multisites.
Essayez donc ceci en utilisant add_query_arg
comme @toscho utilise dans la réponse du lien OP vers:
echo esc_url(
add_query_arg(
'action',
'your_option_name',
network_admin_url( 'edit.php' )
)
);
au lieu de le coder en dur avec de possibles hypothèses erronées sur le chemin d'installation.
Ici, nous échappons à la sortie pour l'utiliser dans l'attribut d'action HTML.