J'ai des commentaires activés sur différents types de pages dans WordPress (archives, balises, recherche, page principale), et après que l'utilisateur pose un commentaire, j'aimerais qu'ils soient redirigés dans leur page de références, non pas au poste unique. page. Des idées? P>
4 Réponses :
$ref = $_SERVER["HTTP_REFERER"]; header("Location: $ref");
Merci, mais où est-ce que je mets ça? Désolé, je suis nouveau à PHP et WordPress en général. Merci quand même pour vôtre aide.
Jamais utilisé WP, désolé. Recherchez une fonction ou un fichier lorsque l'insertion de commentaire se produit, une fois que le commentaire est inséré dans la base de données, c'est lorsque la redirection se produit, généralement une fonction d'en-tête est utilisée, ou peut-être que WP est une fonction de redirection interne, de toute façon, vous pouvez envoyer un script d'en-tête et quittez.
Utilisez le WordPress API de plugin . C'est la bonne façon d'étendre ou de personnaliser la fonctionnalité dans WordPress. Une fois que vous avez lu un peu sur l'API, consultez la référence d'action ( je posterais le lien mais Stackoverflow ne m'a pas laissé em>). Vous aurez besoin d'au moins deux crochets d'action pour compléter votre Tâche: p> Fondamentalement, nous voulons capturer la variable http_referer dans la persistance $ _session chaque fois que l'utilisateur voit d'abord le formulaire de commentaire. Ensuite, nous les redirige une fois qu'ils postent le commentaire. P> Créer une fois que votre plugin est enregistré, activez-le. Dans la section Plugins WP-Admin (généralement trouvée près de H ** P: //Your-website-Address.com/wp-admin). P> p>
commentaire-redirect.php code> dans le WordPress
WP-Contenu / Plugins Code> Dossier.
Voici une idée approximative de ce que vous mettrez dans ce fichier (je vous laissez à vous de préciser / le tester): p>
Ouah merci! Bien que je n'ai presque aucune idée de quoi faire avec cela. J'ai sauvegardé le fichier et activé le plugin et il ne semble pas fonctionner comme ça, mais je suppose que je devrai jouer avec elle.
Mettez ceci dans votre Fonctions.php strong>:
Je conseillerais contre le retour L'adresse de la page (le cas échéant) qui a renvoyé l'agent utilisateur à la
page actuelle. Ceci est défini par l'agent utilisateur. Tous les agents d'utilisateur ne seront pas
Définissez ceci et certains offrent la possibilité de modifier http_referer en tant que
caractéristique. En bref, on ne peut pas vraiment faire confiance. P>
blockQquote> source https://php.net/manual/ FR / RESERVED.VARIABES.SERVER.PHP P> Voici une alternative P> $ _ serveur ["http_referer"] code> car il n'est pas fiable.
add_filter( 'comment_post_redirect', function ( $location ) {
return get_permalink($_POST['comment_post_ID']);
} );