WordPress REST API是比较丰富的,除了输出程序的API,还能自定义和创建API。下面讲讲在一个数据库中创建一个新表并且输出REST API。
创建MySQL表
创建一个user
的表,通过phpMyAdmin,选中数据库,点击菜单的“SQL”,键入:
CREATE TABLE IF NOT EXISTS `user`( `id` INT UNSIGNED AUTO_INCREMENT, `phone` CHAR(11) NOT NULL DEFAULT '', `name` CHAR(255) NOT NULL DEFAULT '', PRIMARY KEY ( `id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
这样就创建了一个新的表,字段分别是id、phone、name。
注册一个REST API
在主题functions.php
加入:
/** * Registers rewrite rules for the REST API. * * @link https://developer.wordpress.org/reference/functions/rest_api_init/ */ function get_user() { global $wpdb; $results = $wpdb->get_results("SELECT * FROM user"); if ( empty( $results ) ) { return null; } return $results; } add_action( 'rest_api_init', function () { register_rest_route( '/user/v1', '/all', array( 'methods' => 'GET', 'callback' => 'get_user' ) ); });
如何请求API?
创建好API后通过wp_remote_get()请求域名/wp-json/user/v1/all
就可以得到一个标注的REST API输出user
表的数据了。