Wordpress REST API 端点:"no such route"



我正在尝试从网站A发送数据到网站b

两个网站都运行WordPress和我有1个表单的网站A,它提交后使一个REST API POST调用网站b

我使用下面的代码来创建REST API端点,但由于某种原因,网站B响应说没有这样的路由。

我正在尝试像这样访问端点:https://www.websiteb.com/wp-json/wp/v2/update_option


add_action( 'rest_api_init', 'register_update_option_endpoint' );
function register_update_option_endpoint() {
register_rest_route( 'wp/v2', '/update_option', array(
'methods' => 'POST',
'callback' => 'update_option_data',
) );
}
function update_option_data( $request ) {
$option_name = $request->get_param( 'option_name' );
$option_value = $request->get_param( 'option_value' );
update_option( $option_name, $option_value );
return true;
}

看起来我的问题是由iThemes安全插件生成的。一旦我禁用了它,代码就生效了。我还想添加update_option_data函数正在工作,它只保存了1个选项,并将其他选项变为空,因此为了避免这种行为,我不得不将代码更改为:

function update_option_data( $request ) {
$option_name = sanitize_text_field($request->get_param( 'option_name' ));
$option_value = sanitize_text_field($request->get_param( 'option_value' ));
$local_site_info = get_option( 'option_page_name' );
$local_site_info[$option_name] = $option_value;
update_option( 'option_page_name', $local_site_info );
return true;
}

相关内容

最新更新