Попробуйте php свой закомментировать из аменить на это:
add_action( 'wp_ajax_my_php_function', 'my_php_function' ); add_action( 'wp_ajax_nopriv_my_php_function', 'my_php_function' ); function my_php_function(){ //Если поступили данные.. if( isset($_POST['name'], $_POST['phone'])){ echo "Все ок данные пришли. Имя: ".$_POST['name']."Телефон: ".$_POST['phone']; wp_die(); } echo "Данные не поступили"; wp_die(); }
Preci сказал(а)
Попробуйте php свой закомментировать из аменить на это:
add_action( 'wp_ajax_my_php_function', 'my_php_function' ); add_action( 'wp_ajax_nopriv_my_php_function', 'my_php_function' ); function my_php_function(){ //Если поступили данные.. if( isset($_POST['name'], $_POST['phone'])){ echo "Все ок данные пришли. Имя: ".$_POST['name']."Телефон: ".$_POST['phone']; wp_die(); } echo "Данные не поступили"; wp_die(); }
Да ничего не изменилось, такое чувство как будто от этого файла ничего не зависит и ошибка где то на уровне хука, может не правильные данные поступают на обработку и обработчик wp просто не понимает что от него хотят вот и шлет в ответ 0
Андрей CS сказал(а)
если данные на сервер отправляются но упорно возвращается ноль, значит php функция не была найдена, скорее всего не определена, где вы ее вообще размещаете?
Вообще он в папке с дополнением лежит C:OpenServerdomainstest2.ruwp-contentpluginswp-recalladd-onquick order, но пробовал данный код размещять и в functions.php в кодексе вроде говоритя что можно в плагинах размещать или в functions.php
Preci сказал(а)
Если код был в add-onquick orderindex.php и плагин quick order был активирован, то должно было работать и так
Да естественно был активирован, вес код находиться в этом дополнении, если не активировать то и форма не будет выводиться, через functions.php срабатывает и возвращает отправленные данные этим кодом print_r($_POST); , но письмо не отправляется, может нужно использовать wp-mail и конечно хотелось бы понять как сделать что бы срабатывало из папки дополнения.
Вот код основного файла может в порядке подключения дело?
add_action('rcl_enqueue_scripts','rcl_custom_scripts',10); function rcl_custom_scripts(){ rcl_enqueue_style('quick_order',rcl_addon_url('style.css', __FILE__)); rcl_enqueue_script( 'quick_order', rcl_addon_url('callback.js', __FILE__) ); } add_filter('the_content','quick_order', 80); function quick_order($content){ $test = ' <p id="callback">Заказать обратный звонок</p> <div id="callback_form"> Имя: <input id="name"> Телефон: <input id="phone"> <p id="send">Заказать</p> <p id="close">Скрыть форму</p> </div> '; $out = $content . $test ; if( get_post_type() == 'products' ) return $out; else return $content;
Kirill Zzz сказал(а)
Preci сказал(а)
Так вы верните в этот файл код который перенесли в functions.php иначе не понятно
Он там и лежит я его не убирал, из functions.php удаляю код и все снова 0 возвращает
Ну так я то не вижу где он конкретно лежит, нужен весь index.php плагина полностью, а не отдельные функции
Kirill Zzz сказал(а)
Это весь код который в index.php остальной код лежит в отельном файле в этой же папке, Я конечно думал что его может нужно вывести на страницу или не надо?
Ну так плагин по умолчанию только index.php подключает, надо код обработки ajax в него же кидать, или файл в котором обработка ajax инклудить в index.php
Kirill Zzz сказал(а)
Андрей CS сказал(а)
название папки дополнения - "quick order"? т.е. два слова через пробел?
Да именно так через пробел, это недопустимо?
хм, первый раз вижу, чтобы по своей воле создавали папки с пробелом, дефис поставьте что ли.
Ну если ничего не работает, то надо полный код смотреть.
Preci сказал(а)
Kirill Zzz сказал(а)
Это весь код который в index.php остальной код лежит в отельном файле в этой же папке, Я конечно думал что его может нужно вывести на страницу или не надо?
Ну так плагин по умолчанию только index.php подключает, надо код обработки ajax в него же кидать, или файл в котором обработка ajax инклудить в index.php
Инклюд стандартный ? я не нашел в апи recall функции для инклюда php ? для js css есть а для php вроде как нет
Kirill Zzz сказал(а)
Preci сказал(а)
Kirill Zzz сказал(а)
Это весь код который в index.php остальной код лежит в отельном файле в этой же папке, Я конечно думал что его может нужно вывести на страницу или не надо?
Ну так плагин по умолчанию только index.php подключает, надо код обработки ajax в него же кидать, или файл в котором обработка ajax инклудить в index.php
Инклюд стандартный ? я не нашел в апи recall функции для инклюда php ? для js css есть а для php вроде как нет
Да стандартный php подойдет include 'file.php'; (если он не в под-папке, а в папке где и index.php)
А вообще как сказали выше не понятно зачем разбиваете на несколько файлов, там кода то 2 строчки, в этом смысла никакого нет.
Андрей CS сказал(а)
Kirill Zzz сказал(а)
Андрей CS сказал(а)
название папки дополнения - "quick order"? т.е. два слова через пробел?
Да именно так через пробел, это недопустимо?
хм, первый раз вижу, чтобы по своей воле создавали папки с пробелом, дефис поставьте что ли.
Ну если ничего не работает, то надо полный код смотреть.
Ну Андрей не вгоняйте меня в краску, да я начинающий в программировании, могу и нелепые косяки делать, спасибо что подсказали. Да я вроде весь код выложил, там больше ничего и нет.
Preci сказал(а)
Kirill Zzz сказал(а)
Preci сказал(а)
Kirill Zzz сказал(а)
Это весь код который в index.php остальной код лежит в отельном файле в этой же папке, Я конечно думал что его может нужно вывести на страницу или не надо?
Ну так плагин по умолчанию только index.php подключает, надо код обработки ajax в него же кидать, или файл в котором обработка ajax инклудить в index.php
Инклюд стандартный ? я не нашел в апи recall функции для инклюда php ? для js css есть а для php вроде как нет
Да стандартный php подойдет include 'file.php'; (если он не в под-папке, а в папке где и index.php)
А вообще как сказали выше не понятно зачем разбиваете на несколько файлов, там кода то 2 строчки, в этом смысла никакого нет.
Я просто не пойму его просто туда добавить или он должен на страницу подгружаться?