今天我们遇到的客户,为了优化代码,要求我们移除用不到的组件。本节将如何移除以下几种跟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' );
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。