Задать вопрос
azorr
@azorr
программирую по мере возможности..

Как передать данные методом $_POST в WordPress или есть родные аналоги?

Приветствую друзья!
Столкнулся с непреодалимым барьером..

Формулирую кратко, а далее подробней..

Ни как не могу передать данные (хоть букву, хоть слово - ничего..)
методом $_POST['name']; - на странице WordPress, хотя этим методом успешно пользуюсь на чистом PHP.


Пришёл к выводу, что WordPress перехватывает, блокирует, запрещает.. передачу методом $_POST['name'] на любую указанную страницу, и что для меня стало полным откровением, даже "сам-в-себя" ничего не передаёт.

Теперь РАБОЧИЙ пример (на чистом HTML/PHP пример - имеется веду без вмешательства WordPress):

В index.php пишем форму и тут же принимаем данные:

<form action="" method="post">

		<p>Ваше имя: <input type="text" name="name" required /></p>
		<p>Ваш e-mail: <input type="email" name="email" /></p>	

		<!-- КНОПКА (и любые виды кнопок) -->
		<p><input type="submit" />ОТПРАВИТЬ</p>

	</form>

тут же, ниже формы принимаем данные.

<?php 

	echo $_POST['name'].'<br>';
	echo $_POST['email'].'<br>';
 ?>


-------------------

заполням 2 поля в форме, нажимаем <ОТПРАВИТЬ> и тут же, на странице 'index.php' принимаем данные:

Имя: Алексей
E-mail: in-top@yandex.ru

Одим словом РАБОТАЕТ , код, на чистом HTML/PHP - ОТЛИЧНО РАБОТАЕТ!, хоть на локальном сервере OpenServer, хоть на реальном сервере домене!

Тут всё в порядке... Чудеса начинаются далее...

Далее размещаю, этот же код на странице 'index.php' только под управлением WordPress, но сталкиваюсь с непреодолимым барьером передачи данных...

Пришёл к выводу, что WordPress перехватывает, блокирует, запрещает.. передачу методом $_POST['****']; на любую указанную страницу, и что для меня стало полным откровением, даже "сам-в-себя" ничего не передаёт...

Отсюда вопросы:

- Где я накалываюсь?

- Действительно ли WordPress перехватывает, блокирует, запрещает.. передачу методом $_POST['****']; ??

- Существуют ли в WordPress - какие то свои локальные решения? Аналоги передачи методу $_POST['****']; ??

- Как передать хотябы 1-букву на эту же страницу, или любую другую страницу??

P.S. Что отправка происходит, - мне сообщает окно оповещения.. но данные не получены ((

Вот скриншот 5f479cc4cbd84984579117.jpeg

WordPress - запретил передачу данных..
  • Вопрос задан
  • 1590 просмотров
Подписаться 2 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
WordPress прекрасно работает с $_POST.

Сначала разберитесь что такое роутинг и ЧПУ в целом. Потом разберитесь с тем, как WordPress работает внутри, как он обрабатывает запросы. А потом разберитесь что такое хуки и как с ними работать.

ЗЫ: В какой именно index.php вы ставите этот код? Какой к нему путь?
Ответ написан
glaphire
@glaphire
PHP developer
1) Wordpress ничего не запрещает, запрещать может вебсервер, но тут не этот случай
2) роутинг в вордпрессе это тема сложнее чем "кинул код в index.php", редактировать файлы ядра нельзя, а форму нужно размещать внутри темы. Index.php там не один, их несколько в разных папках
3) <form action="" method="post">
Почему тут нет form action? Вы уверены, что обработчик сработает на уровне любого роута?
4) попап на странице может ниочем не говорить, говорит правду вкладка networks в chrome dev tools - какие данные послали, на какой урл-роут, что ответил этот урл.
Почитайте от корки до корки пару туториалов по добавлению формы в вордпрессе, о том как он устроен и как отслеживать в нем данные
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы