web-dev-qa-db-fra.com

Rediriger l'utilisateur vers une URL personnalisée après avoir soumis le commentaire

Après que quelqu'un ait envoyé un commentaire, cette ligne de codes le redirige vers la publication (je crois). Puis-je modifier le code afin de le rediriger vers une URL personnalisée?

do_action ('comment_form', $ post-> ID)

Ty pour la réponse,

METTRE À JOUR:

mes commentaires.php

<form> 
  .......
  <input name="submit" type="submit" id="submit" tabindex="5" value="Submit" />
  <input type="hidden" name="my_redirect_to" value="http://www.google.com"; />
  <?php comment_id_fields(); ?>
  <?php do_action('comment_form', $post->ID); ?>
  </form>

mes fonctions.php

add_action('comment_post_redirect', 'redirect_to_thank_page'); // Redirect to thank you post after comment
   function redirect_to_thank_page() {
       if ( isset( $_POST['my_redirect_to'] ) ) 
       return $_POST['my_redirect_to']; 
   }

Le code ne fonctionne pas, il ne redirige pas vers google.com par exemple.

Des idées pourquoi? Ty

5
webmasters

Pas assez; la redirection se produit inline dans wp-comments-post.php

Utilisez le filtre comment_post_redirect pour renvoyer n'importe quelle URL de votre choix. Les arguments passés sont les objets de redirection et de commentaire par défaut, respectivement.

Sur la base de vos commentaires, voici une suggestion:

function wpse_58613_comment_redirect( $location ) {
    if ( isset( $_POST['my_redirect_to'] ) ) // Don't use "redirect_to", internal WP var
        $location = $_POST['my_redirect_to'];

    return $location;
}

add_filter( 'comment_post_redirect', 'wpse_58613_comment_redirect' );
7
TheDeadMedic