缙哥哥的博客
与你分享我的点点滴滴生活

一次鸡肋(能用CDN代替)的DUX主题静态文件优化加速的日志

280G全国流量的电信星海卡仅需29元/月,长期可续该套餐,随时可注销

为了让博客能更快的访问,体验度更好,缙哥哥绞尽脑汁(大)、想方设法(穷)、竭尽全力(逼)去优化加速。由于缙哥哥想把服务器性能尽可能的使用出来(太抠不愿意花钱升级服务器),又不想花钱买CDN服务,所以就有了今天这个DUX主题静态文件优化加速的骚操作,本次优化感谢代码狗的帮助以及耐心的解答。

WordPress菜鸟建站篇(总结归类)——从无到有,境无止尽!

DUX主题静态文件加速

缙哥哥先把DUX主题的静态文件(JS、CSS、fonts、img四个文件夹)放到对象存储并提供加速的二级域名下,并且文件目录要跟DUX主题一致,如:

cdn.dujin.org

DUX主题JS文件加速

在DUX主题的文件夹中,找到/js/loader.js文件进行编辑,在39行处(版本不同可能有所不同)找到

tbquire.config({
	baseUrl: jsui.uri + '/js',
	urlArgs: 'ver=' + jsui.ver,
	paths: {
		'jquery.cookie' : 'libs/jquery.cookie.min',
		'jsrender'      : 'libs/jsrender.min',
		'router'        : 'libs/router.min',
		'lazyload'      : 'libs/lazyload.min',
		'prettyprint'   : 'libs/prettyprint',
		'ias'           : 'libs/ias.min',
		'hammer'        : 'libs/hammer.min',
		'main'          : 'main',
		'comment'       : 'comment',
		'user'          : 'user'
	}
})

将其中的baseUrl一处进行修改:

baseUrl: jsui.uri + '/js',

替换成你对应已加速的域名

baseUrl: '//img.dujin.org/dux/js',

在DUX主题的文件夹中,找到functions-theme.php文件进行编辑,在364行处(版本不同可能有所不同)找到:

		$jss = array(
            'no' => array(
                'jquery' => $purl.'/js/libs/jquery.min.js',
                'bootstrap' => $purl . '/js/libs/bootstrap.min.js'
            ),
            'baidu' => array(
                'jquery' => '//apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js',
                'bootstrap' => '//apps.bdimg.com/libs/bootstrap/3.2.0/js/bootstrap.min.js'
            ),
            '360' => array(
                'jquery' => $purl.'/js/libs/jquery.min.js',
                'bootstrap' => $purl . '/js/libs/bootstrap.min.js'
            ),
            'he' => array(
                'jquery' => '//code.jquery.com/jquery-1.9.1.min.js',
                'bootstrap' => '//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'
            )
        );
        wp_register_script( 'jquery', _hui('js_outlink') ? $jss[_hui('js_outlink')]['jquery'] : $purl.'/js/libs/jquery.min.js', false, THEME_VERSION, (_hui('jquery_bom')?true:false) );
        wp_enqueue_script( 'bootstrap', _hui('js_outlink') ? $jss[_hui('js_outlink')]['bootstrap'] : $purl . '/js/libs/bootstrap.min.js', array('jquery'), THEME_VERSION, true );
		_jsloader(array('loader'));
		
        // wp_enqueue_script( '_main', $purl . '/js/main.js', array(), THEME_VERSION, true );

$purl.删除,并在后面的单引号中补全自己的加速地址,由于最后一行已经被浩子哥注释了,咱不管他。将

_jsloader(array('loader'));

注释掉(前面加//),并在其下方添加以下代码:

wp_enqueue_script( 'loader',  '//img.dujin.org/dux/js/loader.js', array(), THEME_VERSION, true );

其中no、baidu、360、he分别是主题设置中JS文件托管(可大幅提速JS加载)设置,由于360因为改动地址,所以浩子哥已经取消了360选项。

至此,你的主题的所有js文件就已经缓存加速了。

DUX主题CSS文件加速

在DUX主题的文件夹中,找到functions-theme.php文件进行编辑,在355行处(版本不同可能有所不同)找到

// common css
_cssloader(array('bootstrap' => $purl.'/css/bootstrap.min.css', 'fontawesome' => $purl.'/css/font-awesome.min.css', 'main' => 'main'));

// page css
if (is_page_template('pages/user.php')) {
	_cssloader(array('user' => 'user'));
}

同理,将$purl.删除,并在后面的单引号中补全自己的加速地址,以缙哥哥为例,修改为:

// common css
_cssloader(array('bootstrap' => '//img.dujin.org/dux/css/bootstrap.min.css', 'fontawesome' =>'//img.dujin.org/dux/css/font-awesome.min.css', 'main' => '//img.dujin.org/dux/css/main.css'));

// page css
if (is_page_template('pages/user.php')) {
	_cssloader(array('user' => '//img.dujin.org/dux/css/user.css'));
}

至此,你的主题的所有css文件就已经缓存加速了。

DUX主题Fonts文件加速

文本编辑/dux/css/font-awesome.min.css文件,将其所有的url(../fonts/改为自己已加速的绝对地址。

至此,你的主题的所有fonts文件就已经缓存加速了。

DUX主题img文件加速

删除get_stylesheet_directory_uri() .,并在后方补全加速地址。

默认表情加速

add_filter('smilies_src', '_smilies_src', 1, 10);
function _smilies_src($img_src, $img, $siteurl) {
	return get_stylesheet_directory_uri() . '/img/smilies/' . $img;
}

默认头像加速

function _get_default_avatar(){
	return get_stylesheet_directory_uri() . '/img/avatar-default.png';
}

默认特色图片加速

	if( $r_src ){
		if( _hui('thumbnail_src') ){
    		return sprintf('<img data-src="%s" alt="%s" src="%s" class="thumb">', $r_src, $post->post_title._get_delimiter().get_bloginfo('name'), get_stylesheet_directory_uri().'/img/thumbnail.png');
		}else{
    		return sprintf('<img src="%s" alt="%s" class="thumb">', $r_src, $post->post_title._get_delimiter().get_bloginfo('name'));
		}
    }else{
    	return sprintf('<img data-thumb="default" src="%s" class="thumb">', get_stylesheet_directory_uri().'/img/thumbnail.png');
    }
}

至此,你的主题出现最多的图片文件就已经缓存加速了。更多的图片分离加速,可参考:

WordPress动静态分离,媒体文件FTP传输并批量修改图片地址

赞(10) 打赏
转载请注明来源及链接:缙哥哥 » 一次鸡肋(能用CDN代替)的DUX主题静态文件优化加速的日志
如需 WordPress 优化加速、二次开发、托管等服务,可联系我购买付费服务:点此联系我 | 近期站内热门福利:

评论 11

评论前必须登录!

 

  1. #5

    Hello,
    同样购买了DUX主题,发现文章很好。
    下面都看得懂,就是第一句看不懂,请教下缙哥哥!
    “先把DUX主题的静态文件(JS、CSS、fonts、img四个文件夹)放到对象存储并提供加速的二级域名下,并且文件目录要跟DUX主题一致,”
    这句话的意思?

    Simon20124年前 (2020-04-04)
  2. #4

    这个插件可以解决吗?每次升级主题都这么搞一下的话是不是很麻烦呢?

    吃瓜网4年前 (2020-02-19)
  3. #3

    免费的CDN为什么不用呢?

    张波博客5年前 (2019-06-30)
  4. #2

    这是“动静分离”呀!

    cpublic5年前 (2019-06-29)
  5. #1

    追求极限优化!

    大鸟博客5年前 (2019-06-27)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册