Сделайте ваш плагин WordPress отзывчивым с помощью AJAX

Опубликовано: 2020-06-02
WordPress Plugin Responsive

Последнее обновление — 8 июля 2021 г.

AJAX — это новейшая методология разработки, которая постепенно набирает обороты благодаря простоте использования, которую она предоставляет своим разработчикам. Просто интегрируя AJAX в свои плагины WordPress, вы существенно уменьшаете необходимость постоянной перезагрузки всей веб-страницы. Другими словами, AJAX сделает ваш плагин WordPress отзывчивым и позволит пользователям получать новую информацию, перезагружая только эту конкретную часть, сохраняя при этом остальную часть страницы статической.

Это не только делает веб-страницы или плагины более отзывчивыми, но и вдвое сокращает время ожидания. Существует несколько подключаемых модулей и приложений, которые используют Ajax для улучшения взаимодействия с пользователями. Например, WooCommerce использует функцию Ajax для улучшения поведения «Добавить в корзину».

С включенной опцией AJAX ваши клиенты смогут продолжить покупки даже после добавления товара в корзину.

Учитывая его преимущества, мы научим вас, как сделать ваши плагины WordPress отзывчивыми с помощью AJAX.

Создание плагина

Прежде чем вы сможете творить чудеса с AJAX, вам нужно иметь базовую основу для плагинов, которую вы можете использовать для создания продвинутого и отзывчивого продукта.

Создать плагин несложно, так как все, что вам нужно, это создать файл, содержащий однострочный контент. Для этого первый шаг — перейти к файлу wp-content/plugins и создать новую папку с именем по вашему выбору. Откройте папку и создайте новый файл name_of_the_plugin.php. Теперь просмотрите файл в любом текстовом редакторе и напишите следующую информацию:

<?php

/*

Название плагина: Coolness Inducer

URI плагина: http://coolness-inducer.com

описание: >-

плагин, идеально подходящий для того, чтобы сделать ваш сайт особенно крутым.

Версия: 1.3

Автор: Мисс Вейдер

URI автора: http://msvader.com

Лицензия: GPL2

*/

?>

Прежде чем сделать это, создайте каталог ajaxloadpost в установке вашего плагина WordPress. Как только вы это сделаете, создайте плагин и активируйте его. После этого включите следующую информацию в ваш ajaxloadpost.

определить('AJAXLOADPOSTURL', WP_PLUGIN_URL.”/”.dirname(plugin_basename( __FILE__ ) ) );

функция ajaxloadpost_enqueuescripts() {

wp_enqueue_script('ajaxloadpost', AJAXLOADPOSTURL.'/js/ajaxloadpost.js', array('jquery'));

wp_localize_script('ajaxloadpost', 'ajaxloadpostajax', array('ajaxurl' => admin_url('admin-ajax.php') ));

}

add_action('wp_enqueue_scripts', ajaxloadpost_enqueuescripts);

Затем определите переменную AJAXLOADPOSTURL, потому что она понадобится вам, чтобы направить WordPress на URL-адрес вашего плагина. Теперь вам нужно поставить свои скрипты в очередь, что вы можете сделать, добавив ajaxloadpost_enqueuescripts в wp_enqueue_scripts WordPress.

Имейте в виду, что AJAX никогда нельзя использовать в чистом виде. Он всегда будет использоваться в сочетании с другими языками программирования, например jQuery или JavaScript. В этом случае мы будем работать с JavaScript, поэтому вам нужно иметь некоторое базовое представление о нем.

Двигаясь дальше, добавьте JavaScript в ajaxloadpost.js, который вы найдете в папке \wp-content\plugins\ajaxloadpost\js\. Выполните это действие, создав папку JS и поместив в нее ajaxloadpost.js.

Теперь используйте WordPress wp_localize_script, чтобы добавить необходимую переменную JS. Это действие создаст структуру вашего каталога и поставит ваши скрипты в очередь.

Написание обработчика AJAX

Чтобы написать обработчик AJAX, вам понадобятся следующие коды:

функция ajaxloadpost_ajaxhandler() {

если ( !wp_verify_nonce( $_POST['nonce'], «ajaxloadpost_nonce»)) {

Выход("Неверный одноразовый номер");

}

$результаты = ”;

$content_post = get_post($_POST['postid']);

$results = $content_post->post_content;

умереть ($ результаты);

}

add_action('wp_ajax_nopriv_ajaxloadpost_ajaxhandler', 'ajaxloadpost_ajaxhandler');

add_action('wp_ajax_ajaxloadpost_ajaxhandler', 'ajaxloadpost_ajaxhandler');

Выполнение этого действия приведет к двум результатам. Во-первых, он создаст идентификатор сообщений, который требуется пользователям, а во-вторых, он создаст одноразовый номер. Но это не по делу! После того, как коды обработчика AJAX будут готовы, вам нужно перейти к следующему шагу, который заключается в регистрации обработчика AJAX в каталоге WordPress. Это заставит плагин WordPress реагировать на вызовы AJAX. Вы можете добиться этого с помощью этих кодов:

add_action('wp_ajax_nopriv_ajaxloadpost_ajaxhandler', 'ajaxloadpost_ajaxhandler');

add_action('wp_ajax_ajaxloadpost_ajaxhandler', 'ajaxloadpost_ajaxhandler');

Основы JavaScript и AJAX

Имея вызов AJAX и обработчик AJAX, вам нужно создать функцию JS, которая соединит две точки. Следующий JavaScript поможет вам выполнить это действие, которое вы добавите в свой ajaxloadpost.js:

функция ajaxloadpost_loadpost (postid, одноразовый номер) {

jQuery.ajax({

тип: 'ПОСТ',

URL-адрес: ajaxloadpostajax.ajaxurl,

данные: {

действие: 'ajaxloadpost_ajaxhandler',

постид: постид,

одноразовый номер: одноразовый номер

},

успех: функция (данные, textStatus, XMLHttpRequest) {

var loadpostresult = '#loadpostresult';

jQuery(loadpostresult).html(”);

jQuery (загрузить после результата). добавить (данные);

},

ошибка: функция (MLHttpRequest, textStatus, errorThrown) {

оповещение (сброшена ошибка);

}

});

}

Как и в предыдущем шаге, это действие также создаст два результата, т. е. одноразовый номер и идентификатор сообщения.

Следующий шаг также требует владения jQuery. Итак, если ваши навыки немного деревенские, вы найдете эту статью полезной!

Двигаясь дальше, используйте функцию jQuery.ajax, чтобы сделать вызов AJAX к соответствующим серверам. В приведенных выше кодах URL-адрес — это URL-адрес admin-ajax.php, который можно найти в переменной JavaScript, которую мы зарегистрировали во время постановки сценариев в очередь. Кроме того, укажите это действие с именем обработчика действия, которое было зарегистрировано в WordPress, а также опубликуйте одноразовый номер и идентификатор сообщения.

Если все пойдет правильно, вы можете обновить <div> идентификатора #loadpostresult и заменить полученный контент обработчиком AJAX.

Поместите лицо в свой код

Теперь пришло время создать коды, которые будут отображать соответствующие заголовки сообщений и отображать информацию, которую пользователи хотят получить через вызов AJAX. Вот следующие коды:

функция ajaxloadpost_show_latest_posts ($ число = '5') {

$результаты =”;

$the_query = новый WP_Query('posts_per_page='.$number);

в то время как ($the_query->have_posts()):

$the_query->the_post();

$nonce = wp_create_nonce («ajaxloadpost_nonce»);

$arguments = get_the_ID().», '». $nonce.»'»;

$link = '<a onclick="ajaxloadpost_loadpost('.$arguments.');">'. get_the_title().'</a>';

$результат.= '<li>' . $ ссылка . '</li>';

конец;

wp_reset_postdata();

$result.= '<div id="loadpostresult"></div>';

вернуть $результат;

}

функция ajaxloadpost_shortcode_function($atts){

вернуть ajaxloadpost_show_latest_posts();

}

add_shortcode('AJAXLOADPOST', 'ajaxloadpost_shortcode_function');

Надеюсь, эта статья помогла вам сделать ваш плагин WordPress адаптивным. Оставьте нам комментарий, если у вас есть вопрос.

дальнейшее чтение

  • Адаптивный дизайн помогает повысить коэффициент конверсии.
  • Лучшие адаптивные темы WooCommerce