如何在WordPress中将$ wpdb-> get_results作为json返回?

时间:2018-12-10 09:28:57

标签: javascript php html css wordpress

我在wordpress中创建了一个名为custom_users的自定义表格,我想通过API访问记录

functions.php

function get_wp_custom_users()
{
    global $wpdb;

    $custom_users = $wpdb->get_results("SELECT * FROM wp_custom_users");

    foreach ($custom_users as $custom_user)
    {
        echo $custom_user->first_name.' '.$custom_user->last_name;
    }
}

add_action('rest_api_init', function()
{
    register_rest_route( 'wpcustomusers/v1', '/users/', array(
        'methods' => 'GET',
        'callback' => 'get_wp_custom_users'
    ));
});

可以通过URL http://localhost/mywebsite/wp-json/wpcustomusers/v1/users

访问该API。

您知道如何从API请求中以JSON格式返回for loop内的结果吗?

我希望看到所有返回的字段。。谢谢您的帮助。

2 个答案:

答案 0 :(得分:1)

不需要foreach循环,进行如下更改。

function get_wp_custom_users(){
  global $wpdb;

  $custom_users = $wpdb->get_results("SELECT * FROM wp_custom_users");

  //change as below.
  echo json_encode($custom_users);
}

答案 1 :(得分:1)

var_dump $ custom_users以确保$ custom_users不为空。跳过for loop。将返回替换为 echo

echo json_encode($custom_users);