Как получить Ajax данных в Wordpress - PullRequest
0 голосов
/ 07 января 2020

Я попробовал пользовательскую функцию ajax на странице администратора WordPress, чтобы получить данные из метода ajax, но ничего не произошло.

Как я могу это решить?

код javascript и ajax:

function GetName() {
        var baseurl = window.location.protocol + '//' + window.location.hostname + window.location.pathname;
        var geturl = baseurl + '?page=get-name-member-category';

        jQuery.ajax({
            type: "get",
            dataType: "json",
            url: geturl,
            success: function(msg){
                console.log(msg);
            }
        });
    }

Внутренние данные PHP код ответа:

public function getSelectedName()
    {
        global $wpdb;
        $table = $wpdb->prefix .'admin_custom_users';
        $sql = "SELECT name FROM $table WHERE member_category = 'Ordinary-Members'";
        $data =  $wpdb->get_results($sql);
       echo json_encode($data);
    }

1 Ответ

0 голосов
/ 07 января 2020

Вы можете отправить ajax звонок в WordPress, добавив хук добавления действия в свою тему или плагин. Ниже я даю код php и js

<?php
    add_action('wp_ajax_myAjaxFun', 'myAjaxFun');
    add_action('wp_ajax_nopriv_myAjaxFun', 'myAjaxFun');

    function myAjaxFun(){
        global $wpdb;
        $table = $wpdb->prefix .'admin_custom_users';
        $sql = "SELECT name FROM $table WHERE member_category = 'Ordinary-Members'";
        $data =  $wpdb->get_results($sql);
        echo json_encode($data);
        die();  
    }
?>

Ваш ajax вызов должен быть в формате ниже

$.ajax({
    url : baseUrl+"/wp-admin/admin-ajax.php", //baseUrl is wordpress root url 
    type : 'post',
    dataType: "json",
    data : {
    action:'myAjaxFun',//this is must
    data1:'test',
    data2:'sample',
    //.....
    },
    success : function( response ) {
        console.log(response);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...