Чтобы убрать редирект на страницу запись после отправки формы в WordPress, можно использовать фильтр redirect_post_location
. Данный фильтр позволяет изменить URL, на который будет перенаправлена страница после отправки формы.
Вам необходимо добавить следующий код в ваш файл functions.php
в активной теме или в плагин, который вы используете:
function prevent_redirect_to_post($location, $post_id) { // Если форма отправлена на странице комментариев if (isset($_POST['comment_post_ID'])) { // Очищаем URL от редиректа на страницу записи $location = remove_query_arg('c', $location); } return $location; } add_filter('redirect_post_location', 'prevent_redirect_to_post', 10, 2);
Этот код будет проверять, отправлена ли форма на странице комментариев, и если да, то он удаляет параметр c
из URL редиректа.
Чтобы выводить комментарии на страницах, а не на записях в WordPress, вы можете использовать стандартную функцию wp_list_comments
. Она позволяет настраивать вывод комментариев на основании параметров, переданных в ее аргументах.
// Вывод комментариев на страницах function custom_comments($comment, $args, $depth) { // Ваш код для вывода комментариев }
Затем вам нужно вызвать функцию wp_list_comments
внутри шаблона вашей страницы комментариев, передав ей функцию custom_comments
в качестве аргумента:
<?php // Вывод настроенных комментариев на странице комментариев wp_list_comments(array( 'style' => 'div', 'short_ping' => true, 'avatar_size' => 32, 'callback' => 'custom_comments' )); ?>
В функции custom_comments
вы можете настроить вывод комментариев в соответствии с вашими требованиями и оформлением страницы комментариев.
Надеюсь, это поможет вам изменить редирект после отправки формы и настроить вывод комментариев на страницах в WordPress.