ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как разместить данные с использованием Ajax в WordPress

Как разместить данные с использованием Ajax в WordPress

Сегодня мы объясним, как отправить данные с помощью Ajax в WordPress без использования или создания нового плагина.

Покажем, как получить данные из базы данных с помощью Ajax в WordPress с помощью functions.php без использования каких – либо плагинов, так что читайте внимание этот пост. Пожалуйста, убедитесь, что вы уже включили последнюю версию JQuery. Вы можете загрузить последнюю версию JQuery здесь: http://code.jquery.com/jquery-latest.js

 

Как разместить данные с использованием Ajax в WordPress

Откройте файл functions.php из текущей активированной папки темы WordPress и добавьте следующий код в конце файла и сохраните его . Эта функция включит автозаполнение JS и CSS на вашем сайте.

 /**
* Функция для получения данных из базы данных с помощью AJAX.
*/
function myscripts() {
    wp_enqueue_script('customjs', get_stylesheet_directory_uri().'/js/jquery.custom.js', array('jquery'));
    wp_enqueue_script('autocomplete', get_stylesheet_directory_uri().'/js/jquery.auto-complete.js', array('jquery'));
    wp_enqueue_style('autocomplete.css', get_stylesheet_directory_uri().'/js/jquery.auto-complete.css');
}
add_action('wp_enqueue_scripts', 'myscripts');

 

Теперь создайте файл jquery.custom.js в папке js и добавьте фрагмент кода ниже. Код будет размещать вводимые пользователем данные из текстового поля поиска в функцию fwm_autocomplete, которая записывается в файл functions.php.

$(document).ready(function ($) {
            $(".search-box").autoComplete({
                source: function (user_input, response) {
                    $.ajax({
                        type: 'POST',
                        dataType: 'json',
                        url: admin_ajax_url,
                        data: 'action=fwm_autocomplete&user_input=' + user_input,
                        success: function (data) {
                            response(data);
                        }
                    });
                },
            });
        });

 

Теперь снова перейдите в файл functions.php и скопируйте и вставить ниже код в конце файла и сохраните его. Код будет получать данные из таблицы базы данных, на основе данных user_input и вернется в формате JSON. Вы можете использовать эти данные, где вы хотите.

//Функция для извлечения данных из таблицы базы данных
function fwm_autocomplete(){
  global $wpdb;
  $user_input = $_POST['user_input'];
  $qry= 'SELECT DISTINCT(meta_value) FROM df_postmeta WHERE meta_value LIKE "%'.$user_input.'%" AND meta_key="freewebmentor"';
  $results = $wpdb->get_results($qry, ARRAY_A);
      
  echo json_encode($$results);
  exit(); //остановка "0" с выходом
}
 
add_action('wp_ajax_nopriv_fwm_autocomplete', 'fwm_autocomplete');
add_action('wp_ajax_fwm_autocomplete', 'fwm_autocomplete');

 

Exit mobile version