我试图将自定义终点添加到我的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'
) );
答案 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'
) );
希望这会有所帮助