Comment rediriger vers une page d'administration différente dans WordPress?
Je suis en train d'écrire un plugin pour WordPress.
Je veux effectuer une redirection (après la création de la DB enregistrements de données de POSTES, etc...) à d'autres ADMIN de la page.
Ni header("location: ...), ni wp_redirect () - je obtenir
Warning: Cannot modify header information - headers already sent by
qui vient de raison évidente.
Comment puis-je faire une redirection en un WordPress?
source d'informationauteur dr_bonzo
Vous devez vous connecter pour publier un commentaire.
Sur votre formulaire d'action, ajouter "noheader=true" à l'URL de l'action. Cela permettra d'éviter les en-têtes de la zone d'administration de sortie avant votre redirection. Par exemple:
Si vous voulez toujours de redirection à partir de votre plugin admin de la page à une autre page d'administration lors de l'utilisation de WP add_page* fonctions puis, après traitement de votre demande, vous pouvez simplement écho à quelque chose comme ceci:
Ce juste rend un javascript redirection vers "/whatever_page.php" ainsi s'assurant de l'absence de la difficulté avec les en-têtes déjà envoyé par WP comme Chris Ballance déjà dit.
Changer "/whatever_page.php" à quelque chose comme "/wp-admin/admin.le php?page=whatever_page"
Pour l'ajout d'un lien avec add_submenu_page (ou fonction), utilisez le retour de l' $hook_suffix pour ajouter une action de "charger-$hook_suffix" et faire la redirection. C'est la façon dont vous vous accrochez au chargement de la page avant la sortie a commencé.
Je pense que je faisais de la mauvaise façon.
Mon code a l'intérieur d'un add_menu_page() à l'intérieur de
add_action('admin_menu',...), appelez
qui est sans doute appelé plus tard lors de la demande (après l'en-tête de page a été créée et affichée).
Mettre mon code en dehors de mon plugin gère, dans le champ d'application travaillé, il a besoin de quelques travaux de nettoyage, et des correctifs, mais la redirection fonctionne.
De toute façon, merci pour les réponses.
Je suppose que vous avez juste à vous assurer que wp_redirect() vient avant tout de la production a été envoyé.
Vous avez besoin pour vous assurer que rien n'est envoyé à l'adresse http de sortie avant la redirection.
Vous pouvez définir la fenêtre".emplacement('newlocation');" et qui va encore vous permettre de rediriger après la sortie a été envoyé au navigateur.
Charger dans template_redirect.