В настоящее время я пишу плагин chatbox для WordPress.
Этот плагин использует метод jQuery.post () для отправки данных в php-файл, чтобы записать вывод в html-файл, который, в свою очередь, будет загружен в окно чата с помощью jQuery.
Внутри файла php я использую для записи журнала чата в html-файл, который мне нужен для использования функций WordPress API, но этот php-файл не включен в WordPress и поэтому не имеет доступа к WordPress API.
Есть ли способ отправить данные чата в файл php, который включен WordPress, поэтому я могу использовать WordPress API? Какой был бы лучший способ решить эту проблему?
Вы можете использовать wp_localize_script
для отправки ajax url в объекте JavaScript на страницы:
function my_localized_vars() { return array( 'site_url' => get_bloginfo('url'), 'ajax_url' => admin_url('admin-ajax.php') ); } wp_localize_script('needle', 'object_name', my_localized_vars());
Затем вы можете добавить действие и обработать запрос. http://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_%28action%29
А для получения URL-адреса с использованием JavaScript вы можете ввести код:
var url = object_name.ajax_url;
Вместо того, чтобы иметь отдельный файл PHP, оберните его в плагин WordPress. WordPress Codex расскажет вам, как написать плагин и как подключить его для обработки вашего запроса ajax .
Когда вы будете работать в качестве плагина, вы сможете получить доступ ко всем API WordPress.