5

我正在尝试将自定义端点添加到我的 wp-rest api 最新版本。我已经有了这个,但是最后带有 slug 参数的那个不起作用..有谁知道为什么..如果有人可以提供帮助会很棒..

     register_rest_route( 'wp/v2', '/guestmix', array(
        array(
            'methods'         => WP_REST_Server::READABLE,
            'callback'        => array( $this, 'get_guestmixes' )
        ),
        'schema' => array( $this, 'get_public_item_schema' )
    ) );

    register_rest_route( 'wp/v2', '/guestmix/(?P<slug>\d+)', array(
        'methods' => 'GET',
        'callback' => 'get_guestmix'
    ) );
4

2 回答 2

7

我猜是因为您将d元字符用于正则表达式(?P<slug>\d+),这意味着数字,请尝试S改用。代码应如下所示

register_rest_route( 'wp/v2', '/guestmix/(?P<slug>\S+)', array(
    'methods' => 'GET',
    'callback' => 'get_guestmix'
) );

这是供参考的备忘单http://www.phpliveregex.com/

于 2016-02-04T09:56:44.843 回答
2

上面的答案对我有用,尽管我按照 2019 年的要点实现了正则表达式略有不同,涵盖了不同的 url/slug 结构场景。

register_rest_route( 'wp/v2', '/guestmix/(?P<slug>[a-zA-Z0-9-]+)', array(
    'methods' => 'GET',
    'callback' => 'get_guestmix'
) );

希望这可以帮助

于 2019-08-24T04:44:25.767 回答