wordpress优化,主要是放在当前主题下的functions.php下

总所周知wordpress这款开源cms,但随着版本不断的更新wordpress也越来越臃肿,所以需要一些特定的优化来达到速度上的优化。

wordpress优化,主要是放在当前主题下的functions.php下

remove_action( 'wp_head', 'wp_resource_hints', 2 );
//禁止加载emoji
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
add_filter( 'emoji_svg_url', '__return_false' );
//禁止自动更新
add_filter( 'auto_update_translation', '__return_false' );
//禁止自动更新和后台更新检查
add_filter('automatic_updater_disabled', '__return_true');// 彻底关闭自动更新
remove_action('init', 'wp_schedule_update_checks');// 关闭更新检查定时作业
wp_clear_scheduled_hook('wp_version_check');// 移除已有的版本检查定时作业
wp_clear_scheduled_hook('wp_update_plugins');// 移除已有的插件更新定时作业
wp_clear_scheduled_hook('wp_update_themes');// 移除已有的主题更新定时作业
wp_clear_scheduled_hook('wp_maybe_auto_update');// 移除已有的自动更新定时作业

remove_action( 'admin_init', '_maybe_update_core' );            // 移除后台内核更新检查
remove_action( 'load-plugins.php', 'wp_update_plugins' );       // 移除后台插件更新检查
remove_action( 'load-update.php', 'wp_update_plugins' );
remove_action( 'load-update-core.php', 'wp_update_plugins' );
remove_action( 'admin_init', '_maybe_update_plugins' );

remove_action( 'load-themes.php', 'wp_update_themes' );         // 移除后台主题更新检查
remove_action( 'load-update.php', 'wp_update_themes' );
remove_action( 'load-update-core.php', 'wp_update_themes' );
remove_action( 'admin_init', '_maybe_update_themes' );
##
function disable_dashboard_widgets() {
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');//近期评论 
    remove_meta_box('dashboard_recent_drafts', 'dashboard', 'normal');//近期草稿
    remove_meta_box('dashboard_primary', 'dashboard', 'core');//wordpress博客  
    remove_meta_box('dashboard_secondary', 'dashboard', 'core');//wordpress其它新闻  
    remove_meta_box('dashboard_right_now', 'dashboard', 'core');//wordpress概况  
    remove_meta_box('dashboard_incoming_links', 'dashboard', 'core');//wordresss链入链接  
    remove_meta_box('dashboard_plugins', 'dashboard', 'core');//wordpress链入插件  
    remove_meta_box('dashboard_quick_press', 'dashboard', 'core');//wordpress快速发布   
}
add_action('admin_menu', 'disable_dashboard_widgets');

##
add_action( 'wp_footer', 'wpjam_page_speed' ); function wpjam_page_speed() { date_default_timezone_set( get_option( 'timezone_string' ) ); $content = '[ ' . date( 'Y-m-d H:i:s T' ) . ' ] '; $content .= '页面生成时间 '; $content .= timer_stop( $display = 0, $precision = 2 ); $content .= ' 查询 '; $content .= get_num_queries(); $content .= ' 次'; if( ! current_user_can( 'administrator' ) ) $content = ""; echo $content; }
##
add_filter( 'gettext_with_context', 'wpjam_disable_google_fonts', 888, 4);

function wpjam_disable_google_fonts($translations, $text, $context, $domain ) {
        $google_fonts_contexts = array('Open Sans font: on or off','Lato font: on or off','Source Sans Pro font: on or off','Bitter font: on or off');
        if( $text == 'on' && in_array($context, $google_fonts_contexts ) ){
                $translations = 'off';
        }

        return $translations;
}
##
//function remove_open_sans_from_wp_core() {
//wp_deregister_style( 'open-sans' );
//wp_register_style( 'open-sans', false );
//wp_enqueue_style('open-sans','');
//}
//add_action( 'init', 'remove_open_sans_from_wp_core' );
// Remove Open Sans that WP adds from frontend   
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;
##
//function wpjam_disable_feed() {
//      wp_die(__('<h1>本博客不再提供 Feed,请访问网站<a href="'.get_bloginfo('url').'">首页</a>!</h1>'));
//}
//add_action('do_feed',      'wpjam_disable_feed', 1);
//add_action('do_feed_rdf',  'wpjam_disable_feed', 1);
//add_action('do_feed_rss',  'wpjam_disable_feed', 1);
//add_action('do_feed_rss2', 'wpjam_disable_feed', 1);
//add_action('do_feed_atom', 'wpjam_disable_feed', 1);
##
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' ); // 移除版本号
##
##
//不加载jquery_migrate,这个东西导致访问首页缓慢
add_filter( 'wp_default_scripts', 'dequeue_jquery_migrate' );
function dequeue_jquery_migrate( &$scripts){
        if(!is_admin()){
                $scripts->remove( 'jquery');
                $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.10.2' );
        }
}
##
//移除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' );
// set permalink  
//function set_permalink(){  
//    global $wp_rewrite;  
 //   $wp_rewrite->set_permalink_structure('/%postname%-%post_id%/');  
//}  
//add_action('init', 'set_permalink');   
###
//自定义登录页面的LOGO图片
function my_custom_login_logo() {
    echo '<style type="text/css">
        .login h1 a {
            background-image:url("http://wiki-itsc.sf-express.com/wordpress/wp-content/uploads/2017/05/DEVOPS.png") !important;
        height:84 px; //修改为图片的高度
        width: 64px; //修改为图标的宽度
        -webkit-background-size: 64px; //修改为图标的宽度
        background-size: 64px; //修改为图标的宽度
        }
    </style>';
}
add_action('login_head', 'my_custom_login_logo');

//自定义登录页面的LOGO链接为首页链接
add_filter('login_headerurl', create_function(false,"return get_bloginfo('url');"));

//自定义登录页面LOGO提示为任意文本
function custom_loginlogo_desc($url) {
    return 'IT服务中心'; //修改文本信息
}
add_filter( 'login_headertitle', 'custom_loginlogo_desc' );

###
//解决标题为空
function filter_post_empty_title($title){
$format = get_post_format();
if($title == $post_id || $title == ''){
$time = get_the_time('Y-m-d H:i:s');
$title = get_post_format_string($format).' @ '.$time."请修改标题";
}
return $title;
}
add_filter('the_title','filter_post_empty_title');
add_filter('get_the_title','filter_post_empty_title');
//移除WordPress头部加载DNS预获取(dns-prefetch)
function remove_dns_prefetch( $hints, $relation_type ) {
if ( 'dns-prefetch' === $relation_type ) {
return array_diff( wp_dependencies_unique_hosts(), $hints );
}
return $hints;
}
//移除 WordPress 加载的JS和CSS链接中的版本号
function wpdaxue_remove_cssjs_ver( $src ) {
if( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
//移除自动保存
wp_deregister_script('autosave');
//移除修订版本
remove_action('post_updated','wp_save_post_revision' );
//彻底禁止 WordPress 缩略图
add_filter( 'add_image_size', create_function( '', 'return 1;' ) );
/**
 * GRAVATAR头像使用中国服务器
 */
function gravatar_cn($url)
{
    $gravatar_url = array('0.gravatar.com/', '1.gravatar.com/', '2.gravatar.com/', 's.gravatar.com/', 'secure.gravatar.com/');
    return str_replace($gravatar_url, 'cdn.v2ex.com/gr', $url);
}

add_filter('get_avatar_url', 'gravatar_cn', 4);
//禁止英文单双引号自动转换成中文全角
remove_filter('the_content', 'wptexturize');
//移除无效的 WP-Cron 定时任务
add_action('wpjam_remove_invild_crons', 'wpjam_remove_invild_crons');
function wpjam_remove_invild_crons(){
    global $wp_filter;
    $wp_crons = _get_cron_array();
    foreach ($wp_crons as $timestamp => $wp_cron) {
        foreach ($wp_cron as $hook => $dings) {
            if(emptyempty($wp_filter[$hook])){
                foreach( $dings as $sig=>$data ) {
                    wp_unschedule_event($timestamp, $hook, $data['args']);
                }
            }
        }
    }
}
if(!wp_next_scheduled('wpjam_remove_invild_crons')) {
    wp_schedule_event( time(), 'daily', 'wpjam_remove_invild_crons' );
}
//移除 WordPress 仪表盘欢迎面板  
remove_action('welcome_panel', 'wp_welcome_panel');
/**  去掉wordpress仪表盘的某些模块  **/
function remove_dashboard_widgets(){
        global $wp_meta_boxes;
//删除wordpress开发日志模块
unset ($wp_meta_boxes['dashboard'] ['side'] ['core'] ['dashboard_primary']);
//删除“概览”
unset ($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
//删除"其他wordpress新闻模块
unset ($wp_meta_boxes['dashboard'] ['side'] ['core'] ['dashboard_secondary']);
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
//禁止-被转义
//add_filter( 'run_wptexturize', '__return_false' );
// 不要长时间链接  
function get_ssl_avatar($avatar) {
 //$avatar = preg_replace('/.*/avatar/(.*)?s=([d]+)&.*/','
',$avatar);  
   return $avatar;
};
add_filter('get_avatar', 'get_ssl_avatar');
//移除Wordpress后台顶部左上角的W图标
function annointed_admin_bar_remove() {
        global $wp_admin_bar;
        /* Remove their stuff */
        $wp_admin_bar->remove_menu('wp-logo');
}
add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0);
//移除Wordpress后台顶部左上角的W图标
add_action( 'admin_bar_menu', 'remove_wp_logo', 999 );
function remove_wp_logo( $wp_admin_bar ) {
    $wp_admin_bar->remove_node( 'wp-logo' );
}
//添加友链按钮
add_filter('pre_option_link_manager_enabled', '__return_true');
/**
 * 阻止站内文章互相 PINGBACK
 */
function theme_noself_ping(&$links)
{
    $home = get_option('home');
    foreach ($links as $l => $link)
        if (0 === strpos($link, $home))
            unset($links[$l]);
}

add_action('pre_ping', 'theme_noself_ping');

Even

一90后在读计算专业大学生,擅长各种语言的hello world以及安装各种软件。

说点什么

avatar
200
  Subscribe  
提醒