dsfdfd1211
dsfdfd1211
2019-03-25 15:30

Wordpress自定义休息api路由没有显示,如何获取调试信息

Wordpress isn't throwing any errors, even in debug mode, but none of my custom routes are showing up. I have the following method that loads in the data.

I have the following rest_api_init hook inside a class constructor.

add_action( 'rest_api_init', [$this, 'addApiRoutes'] );

That calls this method.

    public function addApiRoutes() {

        register_rest_route( $this->namespace, '/logout', [
            'methods'  => WP_REST_Server::READABLE,
            'callback' => [ $this, 'logout' ],
        ] );
        return $this;
    }

    public function logout() {
        wp_logout();
        wp_redirect('/');
        exit;
    }

If I do a die(__LINE__ . __FILE__), I can see that the method (addApiRoutes) is being invoked. But when I check the route, I get a 404. When I visit the wp-json url, the route doesn't show up either, nor the namespace.

How do you debug this? I also checked the deprecated calls section of Wordpress, but no errors are showing up there either.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • drnxnbf199049 drnxnbf199049 2年前

    So, here's the answer. I was using /index.php/wp-json/wp/v2/{customRoute} to do the lookup, which gave me a route not found each time. The actual route is /index.php/wp-json/{customRoutes}. The wp/v2 stuff is apparently only for internal stuff Wordpress uses, as far as I can tell.

    点赞 评论 复制链接分享