Как сделать, чтобы при нажатии кнопки «Ответить на комментарий» сразу открывалась бы форма для комментария?
Имеется статья с веткой комментариев: https://gorodaplanety.ru/rossiya/vladivostok/pamya...
Хотелось бы, чтобы при нажатии на кнопку "Ответить" под комментарием сразу открывалось бы окно для заполнения комментария.
Примерно вот так:
Код ответа на комментарий в functions.php вот такой:
<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?> |
<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
Шаблон комментариев пользовательский.
Дополнительно
Не сильно понятно, какой у вас php framework или для какой CMS это делается, но если вы хотите чтобы реакция на клик была практически моментальной (без ожидания обмена данных с сервером) - нужен другой подход: сервер предоставляет API для публикации комментариев, а javascript на фронтенде обрабатывает клик по кнопке, открывает форму коммента и отправляет его на сервер.
Силами PHP или любого другого backend решения, без JS этого не достичь.
Зачем тогда в Вордпресс встроенная функция "Разрешить древовидные вложенные комментарии глубиной n уровней"?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

В WordPress форма ответа на комментарий уже умеет перемещаться под нужный комментарий. Для этого должна быть подключена стандартная библиотека
comment-reply, а ссылка «Ответить» должна выводиться черезcomment_reply_link().Подключите скрипт в теме:
add_action('wp_enqueue_scripts', function () { if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } });
В шаблоне комментария ссылка должна быть примерно такой:
comment_reply_link([ 'reply_text' => 'Ответить', 'depth' => $depth, 'max_depth' => get_option('thread_comments_depth'), ]);
Если у вас кастомная кнопка «Ответить», она может не работать, потому что в ней нет нужных data-атрибутов и обработчика WordPress. Лучше не писать эту логику с нуля, а использовать стандартный механизм.
Также проверьте в админке: «Настройки → Обсуждение → Разрешить древовидные комментарии». Если древовидные комментарии отключены, форма не будет вести себя как reply к конкретному комментарию.
Если нужно именно модальное окно, тогда это уже отдельная JS-логика: по клику открывать modal, подставлять
comment_parent, а после отправки закрывать форму. Но для обычных ответов стандартныйcomment-replyнадёжнее.