Как создать собственный маршрут с параметрами запроса в Wordpress? - PullRequest
1 голос
/ 23 сентября 2019

Я хотел бы создать собственные маршруты на своем веб-сайте Wp, используя два параметра запроса, например: http://www.mywebsite.com/apin/?code=CODE&f=getInfo или http://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 ')

...