晨风 菜单

固定连接:

移除WordPress顶部HTML中的JSON API链接

分类:WordPress
发表评论 • 1,284 次围观

如何删除WordPress JSON API链接的顶部标签?

看起来像是这样;

<head>
...
<link rel='https://api.w.org/' href='http://example.com/wp-json/' />
<link rel="alternate" type="application/json+oembed" href="http://example.com/wp-json/oembed/1.0/embed?url=..." />
<link rel="alternate" type="text/xml+oembed" href="http://example.com/wp-json/oembed/1.0/embed?url=..." />
</head>

避免使用插件并且彻底的移除这些不必要的并且拖累站点速度的多余加载项。可使用remove_action函数删除它们!

remove_action('wp_head', 'rsd_link');

看到filters.php (‘wp_head’, ‘rest_output_link_wp_head’, 10, 0)”,这使得我们应该想到要做出一些相对技巧的删除rel=’https://api.w.org/’。

remove_action( 'wp_head', 'rest_output_link_wp_head');

其余…*cough*似乎在default-filters.php文件

remove_action( 'wp_head', 'wp_oembed_add_discovery_links');

删除 rest_output_link_header

remove_action( 'template_redirect', 'rest_output_link_header', 11, 0);

但做出这些还不足够能让顶部清洁;以下自定义函数应该有助于删除页眉和页脚中的所有链接。

function remove_json_api () {
// 从HTML顶部删除REST API行
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
// 删除REST API端点
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
// 关闭oEmbed自动发现
add_filter( 'embed_oembed_discover', '__return_false' );
// 不要过滤oEmbed结果
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// 删除oEmbed发现链接
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// 从前端和后端删除oEmbed特定的JavaScript。
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
// 删除所有嵌入的重写规则
add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' );
}
add_action( 'after_setup_theme', 'remove_json_api' );

而这个片段完全禁用REST API和显示;
当人们访问这个地址时http://yoursite.com/wp-json/

function disable_json_api () {
// 过滤WP-API 1.x版本
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
// 过滤WP-API版本2.x
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
}
add_action( 'after_setup_theme', 'disable_json_api' );

就这样,希望对您有帮助。

  • 文明上网,礼貌发言!可使用HTML代码/超链接。