在WordPress中禁用嵌入

今天我们遇到的客户,为了优化代码,要求我们移除用不到的组件。本节将如何移除以下几种跟embed(嵌入)相关代码:

<script type=”text/javascript” src=”http://local/10.1pxeye.com/wp-includes/js/wp-embed.min.js?ver=5.2.2″></script>
只需将以下内容添加到WordPress主题的functions.php文件中即可。

注意!如果操作不正确,编辑WordPress主题的源代码可能会破坏您的网站。如果您Wordpress主题开发能力有限,请慎用。

方法1:

function disable_embeds_code_init()
{
// Remove the REST API endpoint.
remove_action(‘rest_api_init’, ‘wp_oembed_register_route’);
// Turn off oEmbed auto discovery.
add_filter(’embed_oembed_discover’, ‘__return_false’);
// Don’t filter oEmbed results.
remove_filter(‘oembed_dataparse’, ‘wp_filter_oembed_result’, 10);
// Remove oEmbed discovery links.
remove_action(‘wp_head’, ‘wp_oembed_add_discovery_links’);
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action(‘wp_head’, ‘wp_oembed_add_host_js’);
add_filter(‘tiny_mce_plugins’, ‘disable_embeds_tiny_mce_plugin’);
// Remove all embeds rewrite rules.
add_filter(‘rewrite_rules_array’, ‘disable_embeds_rewrites’);
// Remove filter of the oEmbed result before any HTTP requests are made.
remove_filter(‘pre_oembed_result’, ‘wp_filter_pre_oembed_result’, 10);
}
add_action(‘init’, ‘disable_embeds_code_init’, 9999);
function disable_embeds_tiny_mce_plugin($plugins)
{
return array_diff($plugins, array(‘wpembed’));
}
function disable_embeds_rewrites($rules)
{
foreach ($rules as $rule => $rewrite) {
if (false !== strpos($rewrite, ’embed=true’)) {
unset($rules[$rule]);
}
}
return $rules;
}

方法2:

相比较上面的代码,这段代码精简很多,但是禁用的项目不是很多,但能在绝大部分情况下起到优化作用。

function my_deregister_scripts(){
wp_dequeue_script( ‘wp-embed’ );
}
add_action( ‘wp_footer’, ‘my_deregister_scripts’ );

圈主 管理员

热门评论
:
该帖子评论已关闭
图片审查中...
编辑答案: 我的回答: 最多上传一张图片和一个附件
x
x
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
  • rinsen0点赞了文章Plasticity 3D v24.2.5 曲面建模软件超级牛B!
  • l*********z开通了VIP感谢支持!
  • wangyuhe888对文章Adobe Camera Raw 17.0 新增功能详解发布评论!
  • K*O开通了VIP感谢支持!
  • Leo7061点赞了文章Adobe Camera Raw 17.0 新增功能详解超级牛B!
  • 阿水对文章纸纹理-横版宣纸 (228)发布评论!
  • muhisnp007对文章纸纹理-宣纸 (30)发布评论!
  • muhisnp007对文章米色细纹理石头材质发布评论!