新Gravatar镜像地址配置

昨日打开juwends.com,发现gravatar头像貌似没有走缓存地址,导致网页要加载很久,于是查看缓存地址,原来因为没有备案被屏蔽了…

于是找了另一个地址,就是gravatar国内的镜像:secure.gravatar.com

设置方式为,将function.php中原来的代码:

function gravatar_cache($avatar){
$avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.hechaocheng.cn",$avatar );
$avatar = preg_replace( "/\?s\=/",".png?s=",$avatar );
return $avatar;}
add_filter( 'get_avatar', 'gravatar_cache' );

替换为:

function unblock_gravatar( $avatar ) {
$avatar = str_replace( array( 'http://www.gravatar.com', 'http://0.gravatar.com', 'http://1.gravatar.com', 'http://2.gravatar.com' ), 'https://secure.gravatar.com', $avatar );
return $avatar;
}
add_filter( 'get_avatar', 'unblock_gravatar' );

新地址替换了一个数组 array( ‘http://www.gravatar.com’, ‘http://0.gravatar.com’, ‘http://1.gravatar.com’, ‘http://2.gravatar.com’ ),将数组中出现的连接替换成 https://secure.gravatar.com

至于为什么是数组,据这里介绍是因为数组中的连接是被墙了的,都需要替换成国内的镜像,《天朝Gravatar头像缓存站,小伙伴再也不会觉得我的头像屌了》是旧版设置,旧版设置不能再用了哦!

https部署折腾(五):修改function.php设置wordpress文章中链接的http为https

当站点部署为https后,原来的文章中很多地方还是引用的http的链接,怎么办呢?其实可以不用管的,但是觉得很不爽,强迫症嘛,理解一下。另外,如果链接是资源文件,比如js啊,iframe的src链接啊什么的,可能还会造成浏览器网址栏前面的绿色小锁消失,并提示“您与此网站建立的是私密链接,但网络上的某些用户也许能更改此网页的外观”,差不多就是这个提示了。这个听起来是比较严重,是因为页面上有些东西并没有通过https加密,所以从服务器到浏览器的过程中可能被篡改,这时浏览器就会认为不是绝对安全的,但是who care,小博客,没用户,没流量,谁吃饱了撑着会改呢?

下面还是说说怎么修改吧…可以通过修改主题中的function.php文件达到目的,找到function.php文件,在末尾的“?>”前加上如下代码(如果没有“?>”,那么下面的代码就加在最后),然后将我的网址juwends.com替换成自己的:

//=== 替换内容中http链接为https ===//
function my_content_manipulator($content){
 if( is_ssl() ){
 $content = str_replace('https://www.juwends.com', 'https://www.juwends.com', $content);
 $content = str_replace('https://www.juwends.com', 'https://www.juwends.com', $content);
 }
 return $content;
}
add_filter('the_content', 'my_content_manipulator');

加上这段代码后,就可以实现文章中的链接的http变成https了。

注意,这里只是修改了页面的展示,并没有修改数据库中的内容。

https部署折腾(四):修改wp-config.php设置wordpress的https访问

本文中所说的站点部署https是利用阿里云的CDN部署的https,我的理解是CDN上面的站点(缓存页面)是https访问,而部署在阿里云空间上的原始网站并不是https,还是http,这个http站点也就是CDN的回源站点。上述是我的理解,但是是否正确还需要再深入研究才能窥其真理。

因此,wordpress配置https就不能简单的在后台的设置里面将主页设置为https,因为这个站点其实是http的,如果配置成https,那么当访问https的时候,会先访问CDN,而CDN会回源,也就是会去找http的站点,这时回源站点又被设置为了https,那么又会被重定向到CDN,这样就出现了访问CDN的无限重定向,导致网页无法打开,或者某些文件无法加载的问题。

所以使用CDN部署的https必须将wordpress的后台主页设置为http。

然后设置https访问通过修改wp-config.php文件实现,找到这个文件,打开后在开头的“<?”下面添加如下代码即可(“//”后面的注释可以不用加,习惯加上注释,才知道是做什么的)

//=== 将用户界面与主页相关的http链接替换为https,后台不用更改主页地址 ===//
define('WP_HOME', 'https://'.$_SERVER['HTTP_HOST']);
define('WP_SITEURL', 'https://'.$_SERVER['HTTP_HOST']);
//=== 设置https为开启 ===//
$_SERVER['HTTPS'] = 'ON';

保存后就可以通过https访问了,到这里,就设置完毕了。那么,再总结下:

1,wordpress主页在后台依然设置为http
2,在wp-config.php中添加代码实现https访问

WordPress文章转载版权信息添加(第二篇):添加编辑面板

昨天写了一篇文章《WordPress添加文章转载版权信息(第一篇):自定义栏目(字段)来实现》,文中说到使用自定义字段来实现转载版权信息的添加,但是这个方法依然显得有些麻烦,所以今天这篇文章就准备说说如何改进(如果没有看上一篇文章,建议看一遍,因为下文用到了上文的参数和值)。

自定义的转载版权信息面板

我们可以使用自定义面板来完成这个工作,先来看看我自定义的面板样子(右图),这个面板就位于文章编辑栏的右侧,“版权类型”默认就是“原创可以被转载”,即reprint为pr,下面两栏分别对应info和src。

添加面板相对来说要简单一些了,仅仅是更改代码而已,所有代码都在主题的function.php中添加,添加到文档末尾的?>上面(如果没有?>,那就添加到末尾即可),由于代码比较长,我拆成了几块,挨个贴进文件即可:

继续阅读

WordPress添加文章转载版权信息(第一篇):自定义栏目(字段)来实现

开篇还是有必要说说这篇文章要讲什么的好,这篇文章主要说说怎么给每篇文章底部添加转载版权信息,就比如有的博客底部会写像“本文转载请注明出处”类似的话(Juwend’s也有写哦)。那么方法可以有很多:

一般人首先想到的肯定是手动添加,那如果选择手动为每一篇文章添加这个信息,不仅麻烦,还不方便管理,比如要改变这句话的内容,不说几百篇,几十篇文章也会改疯掉的,如果会sql还好一点,不会就惨了,所以手动为每一篇文章添加的确不是一个好办法。

第二种呢,更改主题模版,让这句话固化到代码中,比如固化到single.php中,在调用了the_content()方法后添加这句话,这样每篇文章就会自动添加这句话了,但是又有个问题了,如果这篇文章是转载的呢?这就麻烦了,依然会显示这句话,不合适,所以这个办法也不是一个好办法(网上大多教程就是这样做的)。

按照套路,肯定是有第三种方法的,没错,那就是在编辑文章时,设置一个值,当该值为不同时,就可以自动显示不同的信息了,而这些信息依然固化在代码中,每次显示都从这个地方取,这样修改起来也可以达到修改一初改变所有的目的。下面就来说说怎么做:

如何才能添加一个值呢,这时想到了wordpress的自定义栏目,习惯叫自定义字段,这个字段的作用就是可以添加一些附加信息到文章里面,但是和文章的内容是独立开来的。现在来添加一个自定义字段:

继续阅读

https部署折腾(提纲):利用阿里云CDN将阿里云虚拟主机上的WordPress博客部署为https

这篇文章大体上是个提纲性的文章,将罗列我把Juwend’s部署为https的步骤,每一步都有直达教程的链接(如果没有就是还没有写…呵呵),下面我们就开始罗列:

  1. 申请startssl免费证书,包括:
    1. 安装openssl,制作私钥key和证书申请文件csr(教程:https部署折腾(二):OpenSSL通过PEM格式私钥生成用于申请SSL证书的CSR文件》)
    2. 注册startssl和申请证书(教程:https部署折腾(三):StartSSL申请免费SSL证书的方法》)
  2. 购买阿里云的CDN,配置阿里云的CDN(以下简称CDN)的https加速(教程待更新)
  3. 修改wordpress的文件,主要是下面两个文件:
  4. 修改.htaccess文件。部署CDN后,需要设置 带www的域名 的 CNAME 到阿里云CDN 上,其实就是将用户对网站的访问重定向到CDN的主机上,这里我只能设置 带www的域名,所以 没有www的域名 是不经过CDN的,所以要把 没有www的域名 的访问重定向到 有www的地址。
    修改.htaccess文件教程:https部署折腾(一):.htaccess配置重定向参数RewriteCond和RewriteRule解释

继续阅读

HTTPS终于搞好了

日志

网站终于实现HTTPS加密访问了!!!

wordpress + 阿里云虚拟主机 + 阿里云CDN + startssl免费证书

看!那抹绿色的“https”和小锁多漂亮啊…

那抹绿色的“https”和小锁多漂亮啊

还是折腾了一天多吧,现在终于搞好了,上一篇文章就可以看出我搞的是多么的辛苦和郁闷…

https虽然配置好了,但是要想整站https还有很多地址要更改,也会有些插件不能再用了,过几天补教程,这里的坑可多着呢…

凌晨5点了… 该睡觉了。

更改固定链接,去掉那个多余的“/cat”

日志

终于更改栏目的固定链接了!

原来的链接是“https://www.juwends.com/cat/栏目名/文章名.html”

现在改成了“https://www.juwends.com/栏目名/文章名.html”

去掉了中间的“/cat”,这样让网站目录深度减少一层,更简洁也对搜索引擎更友好。

去掉“/cat”使用了插件“WP No Category Base”,建议使用插件,网上有在“固定链接” – “分类目录前缀” 那里填写“.”的方法去掉”/cat“,但是我实在不建议这样做,因为经我测试会出现不能自动重定向跳转的问题(wordpress版本是4.2.3)。

另外,对于栏目链接的更改,貌似wordpress也有自动重定向的功能,也就是说我不用自己设置重定向,输入“https://www.juwends.com/cat/栏目名/文章名.html”的时候会自动跳转到“https://www.juwends.com/栏目名/文章名.html”

如果改变了文章的固定链接,即改变“文章名”,同样也会自动跳转到更改后的页面,不会出现404,仔细参看了数据库,在“表名_postmeta”这张表中,“meta_key”为“_wp_old_slug”的字段就是作为重定向用的。 继续阅读

wordpress版本降级方法

1、切记备份:
备份网站所有的文件,可以通过FTP下载,也可以利用虚拟主机提供的管理平台进行打包后下载(如果有这个功能),备份数据库,可以使用帝国备份王(超好用),或者用phpMyAdmin(对于数据库比较小的,10M以内吧)。

2、删文件:
网站文件仅保留以下文件/夹

wp-config.php
wp-content/plugins
wp-content/themes
wp-content/uploads
wp-content/插件数据文件夹
根目录的个人文件

其中:第 2) 条,如wptouch-data会保存文件在wp-content文件夹下,如果不确定建议保留整个wp-content文件夹
其余文件都删除,最好通过虚拟主机提供的管理平台删除,用FTP软件删除wp-admin和wp-include会比较头痛,文件夹层次多而且文件杂,可能会删很久甚至出错。
继续阅读

为wordpress建立子主题,非常方便管理和程序更新!

wordpress功能强大,持续更新,但是在更新的背后又有多少小伙伴由于操劳而郁闷呢?

wordpress虽然强大,但是小伙伴还是会对程序进行修修改改,当然改得最多的就是主题文件了,每次遇到主题文件升级,就会面露难色,到底是升还是不升呢?

升级呢又不想一段代码一段代码的改主题,不升呢,那个小红点点看着惹人难受(强迫症请原谅……貌似可以忽略),烦……

其实wordpress已经想到了,因此推出了子主题,第几版推出的就不用知道了(又不用考试,深究干嘛),反正现在4.2.2版有就对了。好了,下面介绍下子主题:

1、比如juwends用的主题是wordpress自带的twentyeleven(至少写文章的时候是),那么先建立一个文件夹叫twentyeleven-child作为子主题的目录(必须为这个名字,即“自带主题名-child”); 继续阅读

站点管理唠嗑

日志

今天对网站目录进行了清理,不需要的目录全部删了……该更新的程序和插件也全部更新了。

之前遇到过XML-RPC攻击,被停了一会儿站,重开后做了预防措施(其实真的是不是起作用了,还得看站点会不会被在关掉,囧),方法简单,过几天再写。

现在又使用了子主题,感觉顿时高逼格了,其实最重要的是突然感觉升级程序后管理主题超方便了,不用再去记录更改过哪些文件,感觉棒棒哒,方法也超简单,过几天写教程(为毛都是过几天啊,到底过几天呢……)[2015.07.15 – 于是,过了几天,子主题教程在此]

最后,还有那个谁,不要老是乱放文件和目录到根目录里,放到Derek文件夹里面!(好像没有什么说漏的,恩)

感觉wordpress文件的管理上道了,恩,下一步是规范内容了,有时间再说吧,反正也准备大干一票啦!

该睡了,晚安,各位小伙伴~

wordpress后台“添加媒体”、“可视化/文本”按钮失效的解决办法

今天发布文章的时候突然发现后台的“可视化/文本”按钮无法切换了……就是说可视化时点文本不起作用,文本时点可视化也不起作用,鼠标点爆了都没用……干着急啊……擦。就是这货 →可视化/文本按钮

因为貌似在升级了wordpress4.2.2出这个问题的,所以我先还以为是wordpress版本的bug,于是不断地降级,都降到4.1了还是这样……

于是网上搜,发现没有小伙伴遇到过这个问题的,但是后面突然看到有小伙伴说“添加媒体”按钮失效(也点了不起作用啊),就这货 → 添加媒体按钮,于是抱着试一试的态度点进去看。 继续阅读

google的ajax库360缓存,360是好人啊…泪奔

状态

360终于做了件有益于广大站长的事,提供了与谷歌完全一样的库(包括文件和目录)。

我们需要做的就是将

ajax.googleapis.com

改为

ajax.useso.com

就可以了,恩!

这个也是解决wordpress国内站点慢的问题,前段时间我一直觉得我的网站速度非常慢,我一直以为是主机服务商的问题,结果……昨天打开网站的时候,发现下面一直显示加载ajax库,才发现原来是谷歌ajax库的问题(服务商躺枪),因为谷歌也被天朝屏蔽了(谷歌和你多大仇多大怨啊)……然后果断换了所有代码,然后网站速度就很快了……

附查找所有代码的方法,使用EditPlus,打开一个网站的PHP文件,软件左侧“目录”栏中选择网站文件的根目录,然后右键选择“在文件中查找”,弹出框中输入查找“ajax.googleapis.com”,类型为“*.php”,就会查出所有的文件了!

天朝Gravatar头像缓存站,小伙伴再也不会觉得我的头像屌了

状态

2017.5.6 juwends公告:下面所述的Gravatar头像缓存地址已经被暂时访问,下图是缓存地址访问截图,可以看到貌似是因为违规被屏了… 所以没有必要再使用下面的缓存地址,关于这事儿,我找到了新的地址,详见《新Gravatar镜像地址配置》进行配置

Gravatar cache

上面的链接是好人呐,Gravatar也被天朝屏蔽了……它给出了国内缓存,让国内站点都可以显示Gravatar头像!

用法网站中有说明,这里还是重复一下,在主题中的function.php中添加一下代码就OK啦~这下小伙伴再也不会觉得我的头像屌了

function gravatar_cache( $avatar )
{
//=== Gravatar头像缓存 ===//
$avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.hechaocheng.cn",$avatar );
$avatar = preg_replace( "/\?s\=/",".png?s=",$avatar );
return $avatar;
}
add_filter( 'get_avatar', 'gravatar_cache' );