Wordpress Rest-Api 自定义修改 wp-json 路由
Wordpress Rest-Api 提供了一个钩子 rest_url_prefix 可自定义修改 wp-json 路由,比如将默认的 wp-json 变更为 api。
Rest-Api 路由示例
默认路由示例
https://yangjunwei.com/wp-json/wp/v2/posts/1
新路由示例
如下都以 wp-json 修改为 api 为例。
https://yangjunwei.com/api/wp/v2/posts/1
Rest-Api 路由修改
Wordpress 提供了一个钩子来修改 wp-json 地址,代码如下
function yjw_set_rest_api_prefix(){ return 'api'; } add_filter('rest_url_prefix', 'yjw_set_rest_api_prefix');
将上述代码放到主题目录 functions.php 文件中,记得前往 WordPress [后台-设置-固定链接] 中点击保存设置,使得 WordPress 刷新固定链接,新路由才会生效。
还有另一个方法,只是不推荐
/** * REST API路由,wp-json路由别名(/api) * @param object $wp_rewrite WP_Rewrite * @return void */ function yjw_handle_api_rewrite_rules($wp_rewrite){ if( $ps = get_option('permalink_structure') ){ $new_rules = array(); $new_rules['^api/?$'] = 'index.php?rest_route=/'; $new_rules['^api/(.*)?'] = 'index.php?rest_route=/$matches[1]'; $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } } add_action('generate_rewrite_rules', 'yjw_handle_api_rewrite_rules'); //可直接用 `rest_url_prefix` 更改wp-json至api