滑动继续阅读⇓
如何删除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' );
就这样,希望对你有帮助。
本文是否有帮助?
是否