gpt4 book ai didi

wordpress - 路由的处理程序无效 - Wordpress

转载 作者:行者123 更新时间:2023-12-05 04:56:09 27 4
gpt4 key购买 nike

我正在尝试使用类在 WordPress 中创建自定义 REST API 端点。我也用传统方法做了同样的事情——效果很好。但是,使用类时出现错误 The handler for the route is invalid

代码:

class CSS_Ads {

var $url;
var $endpointPrefix;
var $endpointName;

public function __construct()
{
add_action('rest_api_init', array( $this, 'ads_api_route' ) );
}

public function ads_api_route() {
register_rest_route( $this->endpointPrefix, $this->endpointName,
array(
'methods' => 'GET',
'callback' => 'get_all_ads_api_endpoint'
)
);
}

public function get_all_ads_api_endpoint($params) {
// doing my post query and stuff
}

}

设置:

$ads = new CSS_Ads();
$ads->url = get_site_url();
$ads->endpointPrefix = 'bs/v1';
$ads->endpointName = 'ads';

完整错误:

{"code":"rest_invalid_handler","message":"The handler for the route is invalid","data":{"status":500}}

查询设置为 -1,网站上只有一篇文章,所以应该无关紧要。

最佳答案

这里的问题是回调没有到达函数。

解决了以下额外功能的问题:

public function __construct()
{
// Add custom REST API endpoint
add_action('rest_api_init', __NAMESPACE__ . '\\ads_api_route' );
}

// REST API route
public function ads_api_route() {
register_rest_route( 'my_endpoint/v1', '/ads',
array(
'methods' => 'GET',
'callback' => [$this, 'get_all_ads_api_endpoint']
)
);
}

function init_rest_api_endpoint() {
$endpoint = new restAPIendpoint();
$endpoint->ads_api_route();
}
add_action( 'rest_api_init', 'init_rest_api_endpoint' );

希望这对以后的人有帮助:)

关于wordpress - 路由的处理程序无效 - Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65027131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com