Есть сайт на wordpress на локальном сервере и на хостинге. Есть post-форма, которая обрабатывается на той же странице без участия самого wordpress:
echo '<form action="http://'.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"].'#spec" method="post" class="section section-calculator">
<input type="hidden" name="form" value="calculator">';
На локальном сервере всё работает как надо.
На хостинге при нажатии на кнопку отправки формы страница перезагружается, добавляется #spec к url-адресу, но не отправляется данных (var_dump($_POST); возвращает пустой массив).
Если нажать назад в браузере после отправки формы, возвращаюсь на страницу без #spec, так что редиректа, по-видимому, не было.
Если заменить post на get, данные отправляются.
Другая post-форма на сайте обрабатывается нормально.
Обе wordpress версии 5.2.3
Я вроде бы помню, как проверял эту форму после загрузки сайта на хостинг (это было чуть меньше месяца назад), но тут я могу ошибаться.
Хостинг защищён бесплатным SSL.
Ошибка сохраняется на разных компьютерах и разных браузерах, но в firefox при отправке формы всплывает окно:
Предупреждение системы защиты
Информация, введённая вами на этой странице, будет отправлена по незащищённому соединению и может быть прочитана третьей стороной.
Вы уверены, что хотите отправить эту информацию?
Продолжить/Отмена
Подскажите, в чём может быть причина, и как её исправить? Если для решения нужны дополнительные данные, напишите в комментарии.