WordPress 4.4版本以后禁用wp-embed的正确方法

摘要:一般主题是用不到这个功能的,禁用wp-embed只会更好

得知WordPress 4.4版本更新以来,主题无缘无故被新增了个wp-embed.js,其实表面上是增加了一个js文件,但实际的逻辑不止如此,鉴于这个功能实在没什么作用,我们就来把它去除。

庆幸的是WP官方为此开发了一个插件,大家可以使用插件来禁用:Disable Embeds,如果不想安装这个插件,你也可以将下面的代码复制到主题的functions.php文件即可。

/**
 * Disable embeds
 */
if ( !function_exists( 'disable_embeds_init' ) ) :
    function disable_embeds_init(){
        global $wp;
        $wp->public_query_vars = array_diff($wp->public_query_vars, array('embed'));
        remove_action('rest_api_init', 'wp_oembed_register_route');
        add_filter('embed_oembed_discover', '__return_false');
        remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
        remove_action('wp_head', 'wp_oembed_add_discovery_links');
        remove_action('wp_head', 'wp_oembed_add_host_js');
        add_filter('tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin');
        add_filter('rewrite_rules_array', 'disable_embeds_rewrites');
    }
    add_action('init', 'disable_embeds_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;
    }
    function disable_embeds_remove_rewrite_rules(){
        add_filter('rewrite_rules_array', 'disable_embeds_rewrites');
        flush_rewrite_rules();
    }
    register_activation_hook(__FILE__, 'disable_embeds_remove_rewrite_rules');

    function disable_embeds_flush_rewrite_rules(){
        remove_filter('rewrite_rules_array', 'disable_embeds_rewrites');
        flush_rewrite_rules();
    }
    register_deactivation_hook(__FILE__, 'disable_embeds_flush_rewrite_rules');
endif;

这是废话:WP的升级越来越多无厘头了,也不给用户可视化选项就胡乱的增加东西,哎!!

本文属原创,转载请注明出处:themebetter » WordPress 4.4版本以后禁用wp-embed的正确方法

分享到:

评论(5)

登录后评论
注:有关主题的售前售后请 提交工单
真不错的文章!
d-14285894971974067回复
还是删除的好
已用,不搜不知道,发现你这是一片好天地啊,会常来。
春去春又来回复
已加上,很实用的功能。
建议大家参考文章介绍禁用wp-embed功能
QQ售前咨询