11
votes

Dans WordPress, comment rediriger après un commentaire à la page de référification?

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?


0 commentaires

4 Réponses :


-2
votes
$ref = $_SERVER["HTTP_REFERER"];
header("Location: $ref");

2 commentaires

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.



3
votes

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é ).

Vous aurez besoin d'au moins deux crochets d'action pour compléter votre Tâche:

  1. commentaires_post - exécutez directement une fois qu'un commentaire est ajouté à votre base de données
  2. commentaires_form - exécutez chaque fois que le formulaire de commentaire est imprimé à partir d'un modèle de thème

    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.

    Créer commentaire-redirect.php dans le WordPress WP-Contenu / Plugins Dossier.
    Voici une idée approximative de ce que vous mettrez dans ce fichier (je vous laissez à vous de préciser / le tester): xxx

    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).


1 commentaires

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.



19
votes

Mettez ceci dans votre Fonctions.php : xxx


0 commentaires

2
votes

Je conseillerais contre le retour $ _ serveur ["http_referer"] code> car il n'est pas fiable.

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>

add_filter( 'comment_post_redirect', function ( $location ) {
    return get_permalink($_POST['comment_post_ID']);
} );


0 commentaires