Страницы

Поиск по вопросам

четверг, 11 июля 2019 г.

WordPress доступ к функциям

Здравствуйте! Есть file.php лежащий в каталоге темы, как сделать так что бы он имел доступ к стандартны функциям php например the_title(); и т.п.
get_template_part(file.php) работает не так как нужно, он выводит содержимое там где выводить не нужно.
В file.php небольшой скрипт, если коротко он формирует некий специфический вывод, записей в зависимости от переданного в него id записи через jqery а после результат передается назад в формате html.


Ответ

То, что выхотите сделать - неправильно с точки зрения архитектуры Wordpress. Не стОит создавать файлы, которые запускаются отдельно от Wordpress
Если вы хотите что-то выполнить через AJAX-запрос в Wordpress напишите плагин. В нем зарегистрируйте ваш обработчик действия wp_ajax_nopriv. Внутри этого обработчика у вас будет доступ к API Wordpress
Получится что-то вроде такого:
add_action('wp_ajax_nopriv_myfunc', 'my_functionality_handler');
function my_functionality_handler() { // Тут выполняете ваши задумки и возвращаете результат }
Чтобы обработчик был вызван, нужно отправить GET или POST запрос на wp-admin/admin-ajax.php. Для рассмотренного примера в запросе должна быть переменная action с значением myfunc (у вас значение может быть другим).
Дополнительная информация:
Использование AJAX в плагинах (на английском языке) Описание wp_ajax_(action) (на английском языке) Описание wp_ajax_nopriv_(action) (на английском языке) Статья про использование AJAX в Wordpress (на русском языке)
Дополнено
Кстати, действительно можно разместить обработчик AJAX действия в файле functions.php в директории вашей темы.

Комментариев нет:

Отправить комментарий