带有URL参数的WordPress REST API自定义端点
我正在尝试为WordPress REST API创建一个自定义端点,并通过URL传递参数 当前的端点是:带有URL参数的WordPress REST API自定义端点,wordpress,wordpress-rest-api,Wordpress,Wordpress Rest Api,我正在尝试为WordPress REST API创建一个自定义端点,并通过URL传递参数 当前的端点是: /wp json/v1/products/81838240219 我试图实现的是这样一个端点,能够在回调中检索标识符参数 /wp-json/v1/products?identifier=81838240219 // Custom api endpoint test function my_awesome_func( $data ) { $identifier = get_query_v
/wp json/v1/products/81838240219
我试图实现的是这样一个端点,能够在回调中检索标识符参数
/wp-json/v1/products?identifier=81838240219
// Custom api endpoint test
function my_awesome_func( $data ) {
$identifier = get_query_var( 'identifier' );
return $identifier;
}
add_action( 'rest_api_init', function () {
register_rest_route( 'api/v1', '/products=(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
) );
} );
/wp json/v1/products?标识符=81838240219
//自定义api端点测试
函数my_awesome_func($data){
$identifier=get_query_var('identifier');
返回$identifier;
}
添加操作('rest\u api\u init',函数(){
注册rest路由('api/v1','/products=(?P\d+),数组(
'方法'=>'获取',
“回调”=>“我的超级棒”,
) );
} );
首先,您需要将名称空间传递到注册\u rest\u路径
像这样
add_action( 'rest_api_init', function () {
register_rest_route( 'namespace/v1', '/product/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
) );
} );
如果您需要为ex添加选项。
/namespace/v1/product/81838240219?name=Rob
在函数中使用它,就像这样
function my_awesome_func( $data ) {
$product_ID = $data['id'];
$name = $data->get_param( 'name' );
}
该过程非常简单,但需要您阅读此我稍微修改了提供的答案,以获得所需的端点: /wp json/api/v1/product?标识符=81838240219
add_action( 'rest_api_init', function () {
register_rest_route( 'api/v1', '/product/', array(
'methods' => 'GET',
'callback' => 'ea_get_product_data',
) );
} );
function ea_get_product_data( $data ) {
$identifier = $data->get_param( 'identifier' );
return $identifier;
}
令人惊叹的。非常感谢你的帮助。
add_action( 'rest_api_init', function () {
register_rest_route( 'api/v1', '/product/', array(
'methods' => 'GET',
'callback' => 'ea_get_product_data',
) );
} );
function ea_get_product_data( $data ) {
$identifier = $data->get_param( 'identifier' );
return $identifier;
}