如何在Wordpress中使用查询参数创建自定义路由?

时间:2019-09-23 11:12:23

标签: php wordpress wordpress-rest-api

我想使用以下两个查询参数在Wp网站中创建自定义路由: http://www.mywebsite.com/apin/?code=CODE&f=getInfohttp://www.mywebsite.com/apin/?code=CODE&f=getCategories

我用以下方法创建了一个自定义插件:

add_action( 'rest_api_init', 'getMovieInfo' );


function getMovieInfo() {
    register_rest_route( 'apin', '/?token=(?P<token>[a-f0-9]+)&f=getInfoApp', array(
        'methods' => 'GET',
        'callback' => 'get_movie_info',
        )
    );
}


function get_movie_info($datas) {
    $posts = get_posts(array(
        'post_type' => 'movies'));
    foreach($posts as $post) {
        $fields = get_fields($post->ID);
        $code = $fields['movie_code'];
        if ($code === $datas['movie_code']) {
            $data=[];
            $data['movie_title'] = $post->post_title;
            $data['movie_description'] = $fields['movie_description'];
            $data['movie_categories'] = $fields['movie_categories'];
            $data['movie_image'] = $fields['movie_image']['url'];
            return $data;
        } else {
            return "No matching results";
        }   
    }
}

但是我不知道如何正确使用命名空间以及如何为不同的查询参数创建不同的方法(我需要根据'&f = METHOD使用其代码检索特定电影并返回其字段的不同结果”,例如“ getInfo”或“ getCategories”)

0 个答案:

没有答案