Не получается 🙁 мои знания в WordPress печальны походу...
Я смог сделать через этот фильтр перенаправление на нужную страницу, но... Но что получается, где бы ты не был, где бы ты не оставил коммент, я попадаю на эту страницу. и страница обновляется с нуля. То есть, написал коммент под определенным постом. Тут же получается страница перезагружается, и ты оказываешься в начале страницы ...
Получилось!
add_filter( 'comment_post_redirect', 'post_redirect', 10, 2 );
function post_redirect( $location, $comment ){
// filter...
$comment = isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER']:'redirect-form.html';
header("Location: $comment");
exit();
return $comment;
}
Но! Страница перезагружается, и я попадаю в самое её начало... а как сделать чтобы остаться на месте, где я писал комент
DJBANDERAS сказал(а)
Получилось!
фильтр используется неверно, хотя код и рабочий. В данном фильтре надо возвращать урл:
add_filter( 'comment_post_redirect', 'post_redirect', 10, 2 );
function post_redirect( $location, $comment ){
return isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER']:'redirect-form.html';
}
DJBANDERAS сказал(а)
как сделать чтобы остаться на месте
можно указать якорь, к которому страница будет прокручиваться, но блок комментария должен иметь идентификатор на который и будет ссылаться якорь.
Допустим, идентификатор блока комментария - comment-100, где 100 - идентификатор комментария в БД, то код должен быть:
function post_redirect( $location, $comment ){
return isset($_SERVER['HTTP_REFERER'])? $_SERVER['HTTP_REFERER'].'#comment-'.$comment->comment_ID:'redirect-form.html';
}
можно указать якорь, к которому страница будет прокручиваться, но блок комментария должен иметь идентификатор на который и будет ссылаться якорь.
Допустим, идентификатор блока комментария - comment-100, где 100 - идентификатор комментария в БД, то код должен быть:
Спасибо огромное! Оказывается ajax это обычный js. Теперь комментарии отправляются на месте, ну как в чате дополнении wp recall. Никаких перезагрузок страниц =)
Всем спасибо! Тему можно закрывать!