同乐儿

  1. 首页
  2. wordpress优化
wordpress七牛云存储cdn优化加速 代码插件双方法
发布 | 2年前 (2017-09-07) | 阅读数:1097 | 评论数:0 | 来源:同乐儿

引言:此文由子域名转移而来,因为细微强迫症和放弃子域名而不舍得完全丢弃,所以将会逐步第二次转移文章到主域名上来,二者主题(阿里白秀和D8)均来自大前端,追求完美的同时有一丝小懒,主题就不换了,D8主题用起来挺好。

/tmp/phpMvfmMC

相信很多站长都有用免费图床的习惯,它可以节省自己空间大小,但小小的图床有时也很苦恼呢~免费图床始终是别人的空间,不是自己的,肯定会有风险问题,有时有的站长会做两手准备,在本地存一份。还有,就算确定了用别人的图床,但还有国内和国外之分,国外的空间大但速度慢,国内的空间小但速度快,是不是很头疼?接下来就开始介绍七牛云存储,他是利用cdn加速来优化网站的css、js、图片等html代码的。关键是七牛云存储拥有大流量大空间,让你用到爽歪歪~

七牛缩略图功能:

1、日志缩略图

  1. <?php  if(wpjam_has_post_thumbnail()){?>
  2. <div class="entry-thumb">
  3.     <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php wpjam_post_thumbnail(array(150,150),$crop=1);?></a>
  4. </div>
  5. <?php } ?>

这个函数有两个参数:

$size:设置缩略图的大小,它是一个数组,比如上面例子中就是设置缩略图大小为:宽是 150px,高也是 150px。
$crop:设置是否裁剪缩略图,1为裁剪,如果为0,则只是按照最大边进行缩放,不进行裁剪。
另外这个函数相比 WordPress 默认的 the_post_thumbnail 函数相比还有一个强大的地方是,如果没有设置缩略图,它将自动获取第一张图片作为缩略图。

至于上面代码放到什么地方,我只能说你主题原来the_post_thumbnail()函数是在放到哪里,这个函数就放到哪里。

2、日志列表缩略图

⑴相关日志:

  1. wpjam_related_posts($number=5, $args);

在需要显示相关日志的地方插入以上模板函数,其中:

$number:相关日志显示数量。
$arg:相关日志显示的参数,其参数默认为。

  1. array(
  2. 'class'=>,                    //外层ul的class。
  3. 'thumb' => true,                //是否带缩略图,默认带
  4. 'size' => 'thumbnail',          //缩略图大小
  5. 'crop'=> true,                  //缩略图是否裁剪
  6. 'thumb_class'=>'wp-post-image', //缩略图的class
  7. 'number_per_row'=>5             //如果设置为缩略图为横排,每行个数
  8. );

⑵最新日志:

  1. wpjam_new_posts($number=5, $post_type="post"$argsarray());

$number:最新日志显示数量。
$post_type:最新日志类型。
$arg:最新日志显示的参数,默认和相关日志$arg参数一样。

⑶最热日志:

  1. wpjam_top_viewd_posts($number=5, $days=0, $argsarray());

$number:最热日志显示数量。
$days:从最新多少天内获取最热日志,默认0为所有。
$arg:最新日志显示的参数,默认和相关日志$arg参数一样。
下载地址:

百度网盘下载
千脑网盘下载

因为七牛云存储还是会存在把图片放到别人空间的分享,加上wordpress安装各种插件会影响网站的效率,所以以下分享非插件方法,来优化你的wordpress网站,将以下代码放到function.php中并更改为自己的域名即可。

  1. define('FocusCDNHost','http://www.tongleer.com');//wordpress网站网址
  2. define('FocusCDNRemote','http://qiniudn.tongleer.com');//cdn域名
  3. define('FocusCDNIncludes','wp-content,wp-includes');//设置加速目录
  4. define('FocusCDNExcludes','.php|.xml|.html|.po|.mo');//设置文件白名单
  5. define('FocusCDNRelative',);//Check this if you want to have links like <wp-content/abc.png> rewritten – i.e. without your blog's domain as prefix.
  6. function do_cdnrewrite_ob_start() {
  7.     $rewriter = new FocusCDNRewriteWordpress();
  8.     $rewriter->register_as_output_buffer();
  9. }
  10. add_action('template_redirect', 'do_cdnrewrite_ob_start');
  11. class FocusCDNRewriteWordpress extends FocusCDNRewrite{
  12.     function __construct() {
  13.         $excl_tmp = FocusCDNExcludes;
  14.         $excludes = array_map('trim', explode('|', $excl_tmp));
  15.         parent::__construct(
  16.             FocusCDNHost,
  17.             FocusCDNRemote,
  18.             FocusCDNIncludes,
  19.             $excludes,
  20.             !!FocusCDNRelative
  21.         );
  22.     }
  23.     public function register_as_output_buffer() {
  24.         if ($this->blog_url != FocusCDNRemote) {
  25.             ob_start(array(&$this, 'rewrite'));
  26.         }
  27.     }
  28. }
  29. class FocusCDNRewrite {
  30.     var $blog_url    = null;
  31.     var $cdn_url     = null;
  32.     var $include_dirs   = null;
  33.     var $excludes    = array();
  34.     var $rootrelative   = false;
  35.     function __construct($blog_url$cdn_url$include_dirsarray $excludes$root_relative) {
  36.         $this->blog_url   = $blog_url;
  37.         $this->cdn_url    = $cdn_url;
  38.         $this->include_dirs  = $include_dirs;
  39.         $this->excludes   = $excludes;
  40.         $this->rootrelative  = $root_relative;
  41.     }
  42.     protected function exclude_single(&$match) {
  43.         foreach ($this->excludes as $badword) {
  44.             if (stristr($match$badword) != false) {
  45.                 return true;
  46.             }
  47.         }
  48.         return false;
  49.     }
  50.     protected function rewrite_single(&$match) {
  51.         if ($this->exclude_single($match[0])) {
  52.             return $match[0];
  53.         } else {
  54.             if (!$this->rootrelative || strstr($match[0], $this->blog_url)) {
  55.                 return str_replace($this->blog_url, $this->cdn_url, $match[0]);
  56.             } else {
  57.                 return $this->cdn_url . $match[0];
  58.             }
  59.         }
  60.     }
  61.     protected function include_dirs_to_pattern() {
  62.         $input = explode(',', $this->include_dirs);
  63.         if ($this->include_dirs ==  || count($input) < 1) {
  64.             return 'wp\-content|wp\-includes';
  65.         } else {
  66.             return implode('|', array_map('quotemeta', array_map('trim', $input)));
  67.         }
  68.     }
  69.     public function rewrite(&$content) {
  70.         $dirs = $this->include_dirs_to_pattern();
  71.         $regex = '#(?<=[(\"\'])';
  72.         $regex .= $this->rootrelative ? ('(?:'.quotemeta($this->blog_url).')?') : quotemeta($this->blog_url);
  73.         $regex .= '/(?:((?:'.$dirs.')[^\"\')]+)|([^/\"\']+\.[^/\"\')]+))(?=[\"\')])#';
  74.         return preg_replace_callback($regexarray(&$this, 'rewrite_single'), $content);
  75.     }
  76. }

 


如果觉得该作者的文章对你有帮助,请随意打赏给他。您的支持将鼓励作者继续创作!
打赏
X
打赏本文作者方式

微信扫一扫可留言


继续浏览有关 wordpress,wordpress优化,wordpress插件 的文章

分享至:


发表我的评论
取消评论

表情
  • 121 评论
  • 235 粉丝
  • 139 文章
  • 最新文章
    diamond于2019-04-26 22:17:16发表:WeMediaForEmlog付费阅读自媒体插件(支持payjs微信支付)插件截图:插件介绍:本插件可以隐藏文章...
    diamond于2019-04-23 00:22:41发表:TleBarragerForTypecho评论弹幕插件插件介绍:为Typecho增加评论弹幕功能使用方法:第一...
    diamond于2019-04-02 00:26:53发表:原创:WeMediaForWordPress付费阅读插件(支持免登录SPay+payjs微信支付)插件介绍:本插件可以隐藏文章中的任意部分内容,当访客付费后,可...
    diamond于2019-03-10 14:16:16发表:仿站:miaopaiForEmlog秒拍主题模板# 模板截图- 用户登陆截图- 首页截图- 文章页截图...
    diamond于2019-02-26 15:53:01发表:仿站:inkerForTypecho映客主题模板# 模板截图- 电脑版 综合截图- 电脑版 文章截图(...

    • 同乐儿
    • 北京 朝阳区
    • 2018年8月1日
    • 欢迎前往这里http://mb.yjz.top/web/sites/template挑选精美网站后联系微信Diamond0419购买~
    • 查看更多 >
    随机热门
    标签
    wordpress (82) 原创 (29) wordpress优化 (26) wordpress主题 (24) wordpress插件 (22) Typecho (19) wordpress教程 (18) wordpress seo (17) Typecho插件 (15) 博客主题 (8) emlog (8) emlog插件 (7) wordpress维护 (6) CMS主题 (5) 企业主题 (4) DNSPod for emlog (3) 淘宝客主题 (3) 修订版本 (3) 自动保存 (3) 移动适配 (3)
    阿里图床

    阿里图床