我真的很感激在这方面的帮助,因为我已经尝试了很多次了。
我从一个名为“ydelse”的自定义帖子类型中创建了这个非常简单的som基本信息端点。
下面是我创建自定义rest端点的类
class jw_salonbooking_ydelseliste_REST_Controller extends WP_REST_Controller {
public function register_routes() {
$version = \'1\';
$namespace = \'jw_salonbooking/v\' . $version;
$base = \'/ydelseliste/\';
register_rest_route( $namespace + $base, array(
\'methods\' => \'GET\',
\'callback\' => array ($this, \'my_awesome_func\'),
) );
}
public function register_hook() {
add_action ( \'rest_api_init\', array( $this, \'register_routes\' ) );
}
public function my_awesome_func( $data ) {
$posts = get_posts( array(
\'type\' => \'ydelse\',
) );
if ( empty( $posts ) ) {
return null;
}
$ydelseliste = array();
$counter=0;
foreach ($posts as $post) {
$ydelseliste[$counter][\'titel\'] = $post->title;
$ydelseliste[$counter][\'pris\'] = $post->jw_salon_booking_ydelse_pris;
$ydelseliste[$counter][\'varighed\'] = $post->jw_salon_booking_varighed;
$ydelseliste[$counter][\'beskrivelse\'] = $post->content;
$counter++;
}
return $ydelseliste;
}
}
然后在插件的构造函数中执行此操作:
require_once (dirname( __FILE__ ) . \'/rest-routes/jw-salonbooking-ydelseliste-rest-controller.php\');
//* Registrer ydelseliste REST controller
$ydelseliste_route = new jw_salonbooking_ydelseliste_REST_Controller();
$ydelseliste_route->register_hook();
我知道我的构造函数正在工作,因为所有其他add\\u操作都执行得很好。当我开发route类时,我从
Postman 当我执行af GET请求时,如下所示:
https://zebrafinken.dk/testsite/wp-json/jw_salonbooking/v1/ydelseliste/
但现在我得到的结果是:
{
"code": "rest_no_route",
"message": "Ingen rute blev fundet der matchede URL og anmodningen",
"data": {
"status": 404
}
}
我希望有人能引导我朝着正确的方向前进,或者找到答案。