Помимо предоставления нам таких функций, как создание постов и страниц, WordPress также предлагает хорошую поддержку для улучшения функциональности сайта с помощью плагинов. В этой статье мы рассмотрим, как создать простой плагин контактной формы в WordPress и публиковать данные через AJAX.
Создание плагина
Давайте начнем с создания плагина. Чтобы создать плагин в WordPress в папке wp-contentplugins, создайте папку для плагина под названием ajaxcontactform. Внутри этого создайте файл с именем ajaxcontactform.php, который будет основным файлом нашего плагина.
В этом файле давайте теперь поместим заголовок плагина следующим образом:
Этот заголовок необходим WordPress для идентификации плагина. Теперь войдите в раздел администратора вашей установки WordPress, и если все работает правильно, вы сможете увидеть свой плагин WordPress в списке плагинов, как показано ниже. Давайте активировать плагин сейчас.
Мы собираемся использовать jQuery для выполнения нашего AJAX-запроса. Для этого давайте создадим папку с именем js в нашей папке ajaxcontactform, в которой вы можете создать файл ajaxcontact.js. Этот файл будет содержать код для нашего вызова AJAX.
Наша структура папок будет следующей:
Теперь давайте определим некоторые основные переменные, которые мы будем использовать в нашем плагине, и поставим в очередь наш файл JavaScript. Мы сделаем это следующим образом:
<?php /* Plugin Name: Ajax Contact Form Plugin URI: Description:Uses a short code for contact form Author: Abbas Suterwala Version: Author URI: */
Создание формы
Теперь давайте создадим пользовательский интерфейс для нашей контактной формы. Функция для создания пользовательского интерфейса для нашей контактной формы выглядит следующим образом:
define('ACFSURL', WP_PLUGIN_URL."/".dirname( plugin_basename( __FILE__ ) ) ); define('ACFPATH', WP_PLUGIN_DIR."/".dirname( plugin_basename( __FILE__ ) ) ); function ajaxcontact_enqueuescripts() { wp_enqueue_script('ajaxcontact', ACFSURL.'/js/ajaxcontact.js', array('jquery')); wp_localize_script( 'ajaxcontact', 'ajaxcontactajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action('wp_enqueue_scripts', ajaxcontact_enqueuescripts);
В этой функции мы создаем область тега <form> для нашего плагина контактной формы. Внутри тегов у нас есть текстовые поля для имени, электронной почты и темы. Мы использовали текстовую область для содержимого контактной формы.
Затем мы создали ссылку под названием Send mail, щелкнув по которой вызовем функцию ajaxformsendmail (). Мы определим эту функцию ниже. В этой функции мы передаем значения полей Name, Email, Subject и Contents.
Чтобы проверить наш пользовательский интерфейс, мы можем вызвать эту функцию из некоторого места в нашей теме. Если мы вызываем функцию в нашей теме, контактная форма должна выглядеть следующим образом: