Wp Rest Api自定义终点

时间:2016-01-26 21:35:17

标签: wordpress wordpress-rest-api

我试图将自定义终点添加到我的wp-rest api最新版本。我已经拥有了这个,但最后一个带有slug param的那个不起作用..有没有人知道为什么......如果有人能帮忙的话会很棒..

     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'
    ) );

2 个答案:

答案 0 :(得分:4)

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

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

这是参考资料表http://www.phpliveregex.com/

答案 1 :(得分:2)

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

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

希望这会有所帮助