我有一个关于wp rest api自定义端点的问题 我的想法是尝试使用远程站点上的数据库更新本地服务器上的数据库。数据用于设置页面
我成功地使用GET方法开发了自定义端点,并且我也成功地将数据从数据库获取到了获取端点。
我的问题是邮寄请求。如何开发回调函数以从远程站点接收数据并更新本地数据库。
以下是我的代码
function register_custom_route(){
register_rest_route( 'silentblast-dashboard/v1', '/getsetting/(?P<id>\d+)', array(
array(
'methods' => 'GET',
'callback' => 'retrieve_settings_data',
),
array(
'methods' => 'POST',
'callback' => 'update_settings_data',
)
));
}
function retrieve_settings_data($data){
$out = get_option( 'buddysettings');
return $out;
}
function update_settings_data( $posts ){
}
现在其次,我试图将它添加到retrieve_settings_data()函数。
$url(remote url) = 'http://websiteproject.ca/blastbuilder/demo/wp-json/silentblast-dashboard/v1/getsetting/';
$response = wp_remote_get( $url );
$posts = wp_remote_retrieve_body( $response );
$posts = json_decode($posts);
$posts = (array) $posts;
$out = update_option( 'buddy_settings', $posts );
$outi = get_option( 'buddy_settings' );
return $outi ;
并且它使用来自远程数据库的数据更新本地数据库,但只有在我刷新浏览器上的链接localhost / wordpress / wp-json / silentblast-dashboard / v1 / getsetting /之后它才会更新,这对我来说非常有趣。这意味着如果我更改spage上的设置。远程数据库得到更新并将其数据发布到其端点remotesite.com/wp-json/silentblast-dashboard/v1/getsetting/现在代码实际上从远程自定义路由获取设置数据并更新本地数据库但我只能重新加载本地站点的自定义路由后,请在浏览器中查看更新。