wordpress部分优化代码汇总-functions.php(模板函数)

//判断当前语言
function is_lang($lang) {
   return (ICL_LANGUAGE_CODE == $lang) ? true : false;
}
 
//利用wp的过滤器来修复图片上传http错误
add_filter( 'wp_image_editors', 'change_graphic_lib' );
function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}
 
//取消WordPress的自动保存的草稿功能
function disableAutoSave(){    wp_deregister_script('autosave');}
add_action( 'wp_print_scripts', 'disableAutoSave' );
 
    //移除WordPress短代码中自动添加的 br 和 p 标签
    remove_filter( 'the_content', 'wpautop' );
    add_filter( 'the_content', 'wpautop' , 12);
 
    //去除谷歌字体
    if (!function_exists('remove_wp_open_sans')) :
    function remove_wp_open_sans() {
    wp_deregister_style( 'open-sans' );
    wp_register_style( 'open-sans', false );
    }
	// 前台删除Google字体CSS
    add_action('wp_enqueue_scripts', 'remove_wp_open_sans');
	// 后台删除Google字体CSS
    add_action('admin_enqueue_scripts', 'remove_wp_open_sans');
    endif;
 
    //删除emoji脚本
    remove_action( 'admin_print_scripts',   'print_emoji_detection_script');
    remove_action( 'admin_print_styles',    'print_emoji_styles');
    remove_action( 'wp_head',       'print_emoji_detection_script', 7);
    remove_action( 'wp_print_styles',   'print_emoji_styles');
    remove_filter( 'the_content_feed',  'wp_staticize_emoji');
    remove_filter( 'comment_text_rss',  'wp_staticize_emoji');
    remove_filter( 'wp_mail',       'wp_staticize_emoji_for_email');
 
    //移除wp-json链接
    add_filter('rest_enabled', '_return_false');
    add_filter('rest_jsonp_enabled', '_return_false');
    remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
    remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
 
    //禁用embeds功能
    function disable_embeds_init() {
        /* @var WP $wp */
        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' );
 
    remove_action( 'wp_head', 'feed_links_extra', 3 ); //去除评论feed
    remove_action( 'wp_head', 'feed_links', 2 ); //去除文章feed
    remove_action( 'wp_head', 'rsd_link' ); //针对Blog的远程离线编辑器接口
    remove_action( 'wp_head', 'wlwmanifest_link' ); //Windows Live Writer接口
    remove_action( 'wp_head', 'index_rel_link' ); //移除当前页面的索引
    remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); //移除后面文章的url
    remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); //移除最开始文章的url
    remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );//自动生成的短链接
    remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); ///移除相邻文章的url
    remove_action( 'wp_head', 'wp_generator' ); // 移除版本号
 
    //通过多说服务器加速Gravatar头像
    function mytheme_get_avatar($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
    return $avatar;
    }
    add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );
 
//add_filter('pre_site_transient_update_core', create_function('$a', "return null;")); // 关闭核心提示  
add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示  
add_filter('pre_site_transient_update_themes', create_function('$a', "return null;")); // 关闭主题提示  
remove_action('admin_init', '_maybe_update_core'); // 禁止 WordPress 检查更新  
remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件  
remove_action('admin_init', '_maybe_update_themes'); // 禁止 WordPress 更新主题 
 
//打开wordpress媒体库隐藏的上传路径选项
if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) { update_option('upload_path',WP_CONTENT_DIR.'/uploads'); }