首页 视频课程 主题开发课程第20章、API接口 WordPress REST API 控制器与命名空间

WordPress REST API 控制器与命名空间

2023-06-11 / 311阅

WordPress REST API 控制器和命名空间是建立在从 WordPress 数据库中提取数据并将其作为 JSON 对象呈现的架构之上的。 它们允许开发人员使用 RESTful API 构建自定义应用程序和 Web 服务。

下面是一个示例代码来展示如何实现自己的 WordPress REST API 控制器以及如何使用命名空间:

// Register custom REST API controller and namespace
add_action( 'rest_api_init', function () {
    $namespace = 'myplugin/v1';
    register_rest_route( $namespace, '/posts/', array(
        'methods' => 'GET',
        'callback' => 'get_custom_posts'
    ) );
});

// Define callback function for custom REST API controller
function get_custom_posts( $request ){
    $args = array(
        'post_type' => 'mycustomposttype',
        'posts_per_page' => -1
    );
    $query = new WP_Query( $args );

    $data = array();
    if( $query->have_posts() ){
        while( $query->have_posts() ){
            $query->the_post();
            $id = get_the_ID();
            $title = get_the_title( $id );
            $content = get_the_content( $id );
            $data[] = array(
                'id' => $id,
                'title' => $title,
                'content' => $content
            );
        }
    }
    wp_reset_postdata();

    return new WP_REST_Response( $data, 200 );
} 

在上面的代码示例中,我们定义了一个名为「myplugin/v1」的自定义命名空间和一个名为「/posts/」的 REST 路由以获取自定义帖子。这个路由的回调函数调用了 WordPress WP_Query 类来从自定义帖子类型中检索所有帖子并将每个帖子的 ID、标题和内容存储在一个数组中。最后将这个数组作为 JSON 响应返回。

通过这个代码示例,你可以创建自己的 WordPress REST API 控制器和命名空间,以便在你的 WordPress 网站中使用 RESTful API。

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录