测试cos-html-cache静态缓存插件

之前测试了一下WP Super Cache静态插件,这次又测试了cos-html-cache静态缓存插件,重点还是解决wp-postviews插件与HotNews Pro主题兼容问题。

以HotNews Pro 2.7.1 Plus自带的wp-postviews 1.61版为例,本方法不适用于最新版。

启用cos-html-cache静态缓存插件后,wp-postviews插件不统计

打开Wordpress根目录的wp-config.php配置文件,在/** WordPress 数据库的名称 */下添加:

  1. define(‘WP_CACHE’, true);

实现wp-postviews插件ajax方式统计。

解决IE浏览器脚本错误

启用wp-postviews插件ajax方式统计后,会重复加载jquery.js与主题集成的JS冲突,解决办法:

打开wp-postviews插件目录的wp-postviews.php查找:

  1. wp_print_scripts(‘jquery’);

删除或者注释掉:

  1. //wp_print_scripts(‘jquery’);

通过上述修改后,对计数不会造成影响,当页面重新缓存后,会发现计数还在默默的进行中。

下载链接失效,另行解决中…..

WP Super Cache与cos-html-cache静态缓存插件,前者功能设置较多,后者使用简单,据说后者效果好于前者。

最后要说的是,如果你还是个WP新手还在学习使用中,建议先不要安装静态缓存插件,会产生许多问题…….

众多刚接触WordPress的童鞋,对静态化都很感兴趣,而且发现很多使用静态化插件的都是新手,这里转载一篇关于什么情况下有必要使用静态化缓存插件的文章供大家参考.

  1. 最近游子遇到了好几位童鞋,他们都找到游子说我的主题为何安装不了,我明明修改了主题为什么没有变化。等等诸多WordPress方面的问题。我就纳闷了这样的情况不应该发生才对,后来与他们交谈中了解到他们分别都安装了cos-html-cache或者wp-super-cache静态化缓存插件。
  2. 我一看就知道了问题就出在cos-html-cache、wp-super-cache这两个插件上,在这里不是说cos-html-cache、wp-super-cache这两个静态化插件不好,这两个插件还是很好的,在你懂用会用需要用的时候使用这插件还是可以的。我问他们为什么要安装cos-html-cache、wp-super-cache静态化缓存插件,他们的回答都是“静态,快一点”, Oh my god!我立刻就想到他们一定是看了别人介绍这两个插件说有多好有多好所以自己也就用了。到底是好心还是误导,cos-html-cache、wp-super-cache插件本身是没问题的,但什么时候用,在什么情况下用很多人都没搞懂,懵懵懂懂的就安装用上了,“嗯,访问果然快了。真的只是心理作用吧了。”
  3. 什么时候用cos-html-cache、wp-super-cache静态化缓存插件,在什么情况下用呢?
  4. 游子在这里有两点建议:
  5. 1、如果你的站访问量很大,这个很大没有一定的概念!游子认为如果你的站每天有几千IP的时候再用静态化缓存插件也不迟!
  6. 2、主题已经确定下来,应该修改的地方都修改好,以后不会再改主题或者改的范围小。这时安装静态化缓存插件也不迟!
  7. 刚开始建站真的没必要使用静态化缓存插件的,如果你想带来不必要的麻烦那你就去折腾吧。还有就是别一看到别人说好,就觉得好自己拿过来就用,你看看用的是不是时候有没有必要用。你看看介绍插件好的人他有没有用静态化缓存,说不定他都没用他只是说好,因为他知道副作用大!
  8. 不要再折腾了,用心把网站的内容做好,开启伪静态就OK了。(WordPress伪静态设置方法)追求静态化缓存只会给你带来不必要的麻烦,等有一天你技术高明了再用也不迟。
  9. 声明:此文并非说cos-html-cache、wp-super-cache静态化缓存插件不好,这里想表明的是静态化缓存不是每个人都适用,不是别人说好就用,要有自己的观点和立场。什么时候用适合,在什么情况下用适合。

这篇文章阐明了一个观点:静态化后只在访问量很高的情况下,才会发挥作用,对个人小博而言,访问量有限,完全没必要安装静态化插件,而且静态化插件设置对新手也不是件容易的事,会造成很多问题。

其实静态化有太多页面访客太多的话,会加重主机的负载,如果主机性能欠佳的话,这样反而会得不偿失;反而如果代码优化够好,响应速度够快,原始的动态页面才是最好的选择。所以个人感觉静态化还要看主机性能,访客数量,访问速度等几方面来均衡考虑,不是说静态化就一定最好。

wordpress更换域名的几个步骤

打开新的空间的phpmyadmin(数据库控制面板)

然后选择新的数据库名,点击后,进入wp_开头的大于等于11个的表,然后选择选项卡里的sql,如图:

然后就是进行sql批量处理的命令了:

  1. UPDATE wp_options SET option_value = replace( option_value, ‘http://www.old.com’, ‘http://www.new.com’ ) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;  
  2. UPDATE wp_posts SET post_content = replace( post_content, ‘http://www.old.com’, ‘http://www.new.com’ ) ;  
  3. UPDATE wp_posts SET guid = replace( guid, ‘http://www.old.com’, ‘http://www.new.com’ ) ;  

old代表旧域名、new代表新域名,将上面的执行语句修改为你们自己的,然后点击执行即可!
 衍生问题
每个网站换新域名都不是件随便的事情,如果你不在乎搜索引擎,那么衍生的问题,你可以直接无视,否则,继续看下去吧,我们需要对老域名对新域名进行一个301的重定向,意义就是告诉搜索引擎,旧域名的所有信息都将永久的转移到新域名上,这样才不会被搜索引擎所K掉!301重定向的方法有很多,小2这里就说一个linux的方法吧,在wordpress的根目录下创建一个.htaccess文件,然后将下面的内容放进去即可!

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /
  4. RewriteCond %{HTTP_HOST} ^wuwenwu.com [OR]
  5. RewriteCond %{HTTP_HOST} ^www.wuwenwu.com [NC]
  6. RewriteRule ^(.*)$ https://www.wuwenwu.com/$1 [L,R=301]  
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule . /index.php [L]
  10. </IfModule>

到这一步,就基本全OK了。。。

知更鸟begin2.0主题

知更鸟最新版begin2.0主题破解版剔除版权版,免费送给大家,自己使用begin2.0主题感觉就是破解版,没有注册或限制等提示,觉得还可以,认为是完美破解。

特别注:刚刚有人担心有后门、有病毒什么的,这个begin2.0主题,我已经使用测试了,没发现注册或限制,本人没用过原版,不知道原作者是如何进行限制的,也请已下载的同志使用后反馈一二。

主题简介

主题版本 2.0 颜色风格 CSS3+HTML5、扁平化、响应式设计、自定义颜色风格,不依赖任何前端框架,支持最新PHP7
设计者 知更鸟 类别 杂志、图片、博客、公司四种首页布局,后台自由选择
WP版本 4.1+ 支持浏览器 兼容IE8+、 Firefox、Chrome、Opera、Safari等主流浏览器及大部分移动浏览器
主题语言 中文 集成小工具 关注我们、大家喜欢、最新文章、本站推荐、热评文章、热门文章、热门标签、相关文章、近期留言、随机文章等………..
最后更新 2016.05.5 独立页面模板 博客布局、随机文章、友情链接、热门标签、用户中心、用户注册、给我投稿、联系方式、近期留言等

官方网址:http://zmingcx.com/

微云网盘: 点击下载(密码:TDgYZE)

fonts.useso.com加载慢 ajax.useso.com加载慢解决方法

最近几天偶然发现,自己的wordpress站打开非常慢。看下面的状态栏,显示fonts.useso.com加载慢,一直处于加载中,偶尔能快一些。不过今天发现根本不行了。难道是fonts.useso.com像fonts.googleapis.com一样挂掉了?还是服务器的问题?后来百度一查才知道,原来360 cdn前几天抽风,昨天可以确定是停止服务了。真相大白,原来fonts.useso.com加载慢和ajax.useso.com加载慢的真正原因是360关掉了此类服务!
由此想到了不久前fonts.googleapis.com挂掉的情景。fonts.googleapis.com加载慢,无法加载的问题出现后,wordpress依赖的google字体就离开众人视线。各路大神开始寻求360的帮助,将fonts.googleapis.com改成了fonts.useso.com。现在360也不那么热心了。这对于我们就开个wordpress站、要求不高的小朋友们来讲,仅仅求个方便而已,不要什么高大上。360连这点面子都不给,我们也没办法。
不过。。。。在网络上没有解决不了的问题的。重点来了!!!fonts.useso.com加载慢 ajax.useso.com加载慢解决方法来了!!!
解决办法:
fonts.useso.com 替换为 fonts.lug.ustc.edu.cn
ajax.useso.com 替换为 ajax.lug.ustc.edu.cn
themes.googleusercontent.com 替换为 google-themes.lug.ustc.edu.cn
fonts.gstatic.com 替换为 fonts-gstatic.lug.ustc.edu.cn
一般前两个就够用了,对不对同志们?

腾讯云云存储cos的wordpress附件上传插件

我们使用wordpress建站的过程中,最关切的一项就是图片等的访问速度,而一般的建站者使用的服务器也都是虚拟主机或者VPS,所有的图片等放在同一台服务器,占用空间又拖慢速度,所以出现了阿里云OSS附件支持插件等,但是最近工作中用到腾讯云的云存储服务,发现腾讯云更好一点,具体好在哪里待会儿再说。搜索了一下wordpress的腾讯云存储支持插件,暂时没找到,所以就参照阿里云的OSS插件开发了这个腾讯云COS附件支持插件。

插件特色

  1. 使用腾讯云对象存储服务存储wordpress站点图片等多媒体文件
  2. 可配置是否上传缩略图和是否保留本地备份
  3. 本地删除可同步删除腾讯云上面的文件
  4. 支持腾讯云云存储服务绑定的个性域名

项目地址

  1. github项目地址: https://github.com/JefferyWang/qcloud-cos-support
  2. Git@OSC项目地址: http://git.oschina.net/wangjunfeng/qcloud-cos-support

腾讯云COS的优点

  1. 便宜:阿里云北京深圳上海区域送免费额度。每个区域的免费额度包括:5GB存储容量、5GB/月外网流出流量、5万次/月Put类请求、50万次/月Get类请求 ,此免费额度有效期到2015年底。而腾讯云免费额度是50G存储空间、50G/月免费流量。这样的免费额度对于小站长已经足够使用。
  2. 高速:腾讯云COS用户通过遍布全国的OC节点保障文件的加速分发和就近接入,同时支持CNAME接入。而阿里云的类似的服务CDN需要另外购买,相对来说某些地方阿里云可能慢一点。

安装

自行下载插件包,然后上传安装,进行相应的参数配置,即可立即使用。

下载地址

[url href=http://yun.wuwenwu.com/Wordpress/qcloud-cos-support.zip]点击下载[/url]

配置插件

  1. 方法一:在wordpress插件管理页面有设置按钮,进行设置
  2. 方法二:在wordpress后台管理左侧导航栏设置下腾讯云cos设置,点击进入设置页面

截图

Begin主题常见问题

注:修改中文主题模板,建议使用专门的编辑工具,比如:Notepad++(免费),绝不能用操作系统自带的记事本编辑模版文件,否则会造成模板错位,中文模版编码为:UTF-8 无BOM(无签名)。

 

1、启用CMS首页错位

第一次启用CMS首页,因未设置正确的分类ID(包括分类中无文章),会显示页面错位。如果不清楚各模块由后台主题选项那里控制,可以在主题选项中将CMS首页的各模块取消启用勾选,然后逐一设置分类ID后,再开启,这样就可以清楚具体控制位置。

 

2、分类小工具添加图标字体

这篇《为导航菜单添加个性图标字体》中的方法可以为菜单添加图标字体,有童鞋要求侧边分类小工具也加上图标字体,分类小工具是无法添加图标字体的,但可以变通一下,使用自定义菜单小工具来实现。

新建一个单独的菜单(不能有二级菜单项目),然后使用自定义菜单小工具调用这个单独的菜单,图标字体添加方法同《为导航菜单添加个性图标字体》

3,去掉段首空格

Begin主题修改主题样式外观无需修改主题样式文件style.css,可以打开主题选项→定制风格,在“自定义样式”中,添加准备修改的样式属性即可。

比如去掉正文段首空格,主题默认样式是:

  1. .single-content p {
  2.     text-indent: 2em;
  3. }

在“自定义样式”中添加:

  1. .single-content p {
  2.     text-indent: 0;
  3. }

即可,无需改动主题文件,而且下次更新升级主题这些自定义的样式也不会丢失。

4、优酷视频遮挡顶部固定导航

默认优酷HTMTL代码:

  1. <embed src=“http://player.youku.com/player.php/sid/XMjM2OTE3ODg4/v.swf” allowFullScreen=“true” quality=“high” width=“480” height=“400” align=“middle” allowScriptAccess=“always” type=“application/x-shockwave-flash”></embed>

改为:

  1. <embed src=“http://player.youku.com/player.php/sid/XMjM2OTE3ODg4/v.swf” allowFullScreen=“true” quality=“high” width=“480” height=“400” align=“middle” allowScriptAccess=“always” type=“application/x-shockwave-flash” wmode=“transparent”></embed>

只在后台添加一个参数:wmode=”transparent”

将修改后的代码添加到文章中即可,其它视频站点视频以此类推。

不过貌似编辑文章时,如果从文本模式切换到可视化WP会过滤掉部分代码,这个方法也将失效。

5、更新文章归档页面

文章归档页面,会在数据库中生成一个类似:cx_archives_list的表,用于存储文章发表/删除时生成html,可加快访问速度,不用每次都要查询数据库生成归档,如果发现文章归档页面一直不更新,可以进入WP后台—设置—全部设置页面,搜索cx_archives_list,清空其右侧的数据并保存。

6、首页幻灯改为通栏展示

以CMS首页为例,首先打开begin主题根目录的cms.php模板文件,将第6行到第8行的:

  1. <?php if (zm_get_option(‘slider’)) { ?>
  2.     <?php require get_template_directory() . ‘/inc/slider.php’; ?>
  3. <?php } ?>

整体移动到第1行:

  1. <?php get_header(); ?>

下面,这样幻灯就会变为通栏并自适应。

7、修改正文字号大小

  1. .single-content {
  2.     font-size: 16px;
  3.     font-size: 1.6rem;
  4.     line-height: 2;

8、目录索引改为三级标题H3标签

主题默认自将四级标题H4标签转换为文章索引目录,简单修改一下将三级标题H3标签变为索引目录。

打开主题begininccore目录的setting.php查找:

  1. $r = “/<h4>([^<]+)</h4>/im”;

将其中的数字4,改为3即可。

9、加粗导航菜单字体

将下面样式加到主题选项→定制风格→自定义样式中

  1. #site-nav .down-menu li {
  2.     font-weight: bold;
  3. }

10、文章列表文字截断过滤短代码标签内容

用于,在文章列表过滤掉短代码形成的类似的截取内容:

Begin主题常见问题

打开Begin主题根目录的setting.php模板,在大约19行查找:

  1. <?php if (has_excerpt()){ echo wp_trim_words( get_the_excerpt(), 90, ‘…’ ); } else { echo wp_trim_words( get_the_content(), 100, ‘…’ ); } ?>

用下面代码替换:

  1. <?php if (has_excerpt()){
  2.      echo wp_trim_words( get_the_excerpt(), 90, ‘…’ );
  3.     } else {
  4.     $content = get_the_content();
  5.     $content = wp_strip_all_tags(str_replace(array(‘[‘,’]’),array(‘<‘,’>’),$content));
  6.     echo wp_trim_words( $content, 100, ‘…’ );
  7.     }
  8. ?>

另外,主题cms目录的cat-big和cat-small模板也需要找到类似代码并替换。

本方法只针对Begin主题1.4+版,可能会影响执行效率就不加主题中了,有需要的自行修改。

如果只是不想显示短代码标签内容内容,可以在编辑文章时,在下面的“摘要”中添加些文字说明就可以了

11、自定义搜索结果文章数量

打开主题search.php模板文件,在类似:

  1. <?php if ( have_posts() ) : ?>

上面添加:

  1. <?php $posts = query_posts($query_string . ‘&posts_per_page=5’);?>

或者(置顶文章按正常排序):

  1. <?php $posts = query_posts($query_string . ‘&orderby=date&posts_per_page=5′);?>

其中的数字5是文章搜索结果每页的文章数,该方法也适用于其它分类页面。

 

12、友情链接添加nofollow

用于友情链接页面,为自己收藏的网址添加nofollow属性,以WordPress 4.22例:

打开wordpresswp-adminincludes目录的meta-boxes.php,在第990行后面添加:

  1. <label for=“Nofollow”>
  2. <input class=“valinp” type=“checkbox” name=“professional” value=“nofollow” id=“nofollow” <?php xfn_check(‘physical’, ‘nofollow’); ?> /><?php /* translators: xfn: http://gmpg.org/xfn/ */ _e(‘nofollow’) ?>
  3. </label>

之后编辑链接时,在链接关系网面板—职场关系一项中,会增加一个nofollow选项。

13、调整留言表情大小

将下面样式添加到主题选项→定制风格→输入自定义样式代码框中即可。

  1. .wp-smiley {
  2.     height: 24px !important;
  3.     max-height: 24px !important;
  4. }
  5. .smiley-box img {
  6.     height: 24px;
  7.     width: 24px;
  8. }

14、去掉wp-postview插件计数后面的views

WP后台→设置→Post Views设置页面,找到Views Template(浏览计数显示模板)

默认显示为%VIEW_COUNT% views

去掉其中红色的部分,并保存。

另外,除了主题部分功能需要调用Post Views插件的计数外,这个插件的主要功能就是站长的满足虚荣心,因此想让这个计数倍增,可以在插件设置页面,设置被统计的访问者选择“所有人”(包括登录者,),是否排除机器人(也就是搜索引擎爬虫)选择“否”,还可以编辑文章将下面自定义栏目名称中“views”的值改大一些……

15、自定义页面宽度后,调整侧边跟随宽度

由于侧边跟随使用position:fixed用于定位,无法使用百分数设定宽度,可以将下面样式添加到主题选项→定制风格→自定义样式代码框中

  1. .follow {width: 340px;}

根据实际适当修改其中宽度数值:340px

16、去掉文章列表的分类名称

将下面样式添加到主题选项→定制风格→自定义样式代码框中

  1. .thumbnail .cat{display: none;}

主题很多功能,是通过自定义栏目实现的,一些插件也会自动为文章添加自定义栏目,比如文章点击统计插件wp-postviews,会添加自定义栏目名称:views,值为:统计数

下面是主题集成的自定义栏目名称及说明:

  • thumbnail 文章列表缩略图
  • zm_like 占赞
  • Baidusubmit 百度主动推送
  • show 幻灯调用及幻灯中图片
  • hot 侧边栏本站推荐
  • posts 侧边栏推荐文章
  • button1 下载按钮
  • url1 下载按钮链接
  • no_sidebar 无侧边栏

如果认为之前的一些自定义栏目已无用,可以参阅下文批量删除:

批量删除WordPress自定义栏目

18、删除评论表单中的网址项

打开主题begin主题根目录的comments.php评论模板文件,在大约第112行找到:

  1. <p class=“comment-form-url”>
  2.     <input type=“text” name=“url” id=“url” class=“commenttext” value=“<?php echo $comment_author_url; ?>” tabindex=“3” />
  3.     <label for=“url”>网址</label>
  4. </p>

删除即可。

19、突出显示导航菜单中的项目

通过添加CSS样式,突出显示导航菜单中某个项目,最终效果如本博客导航上的“ Begin主题购买”。

一、安装Font Awesome 4 Menus插件,利用插件添加特殊的class,使用方法点此查看

注:1.7以上版本主题不需要再安装上面的插件。

二、为准备突出显示的菜单项随便添加一个相应的图标字体选择器名称,比如:fa fa-home。

(注:因这个图标字体无法与突显的菜单项完全对齐,影响美观,所以下面的代码会隐藏掉这个图标字体,所以选择什么图标无所谓。)

三、将如下代码添加到主题选项→定制风格→自定义样式代码框中:

  1. #menu-item-6597 .font-text {
  2.     background: #ff4400;
  3.     color: #fff;
  4.     padding: 4px 8px;
  5.     border-radius: 2px;
  6. }
  7. #menu-item-6597 .font-text:hover {
  8.     background: #2f889a;
  9.     transition: all .2s ease-in 0s
  10. }
  11. .fa-home {
  12.     display: none;
  13. }

四、查看网页源代码,比如我的“ Begin主题购买”项是:

Begin主题常见问题

将第三步代码中的6597改为你准备突出显示项目对应的数字即可。

20、滚屏到评论位置按钮适用于多说

打开beginjs目录的 script.js文件,将大约第39行的:

  1. scrollTop: $(‘#respond’).offset().top

替换为:

  1. scrollTop: $(‘#ds-thread’).offset().top

定位到多说评论框的上面,或者自行修改其中的DIV 选择器 #respond 让其滚动那合适的位置。

21、为页面元素添加CSS3闪烁动画

将下面样式文件添加到主题选项→定制风格→自定义样式代码框中:

  1. @keyframes blink {
  2.     0%{opacity: 1;}
  3.     50%{opacity: 1;}
  4.     50.01%{opacity: 0;}
  5.     100%{opacity: 0;}
  6. }
  7. .fa-volume-up {
  8.     animation: blink 1s linear infinite;
  9. }

22、调整主菜单项目间距

打开主题样式文件style.css,在大约367行(版本不同可能位置有所区别),找到:

  1. #site-nav .down-menu a {
  2.     padding: 0 10px;
  3.     color: #444;
  4.     text-align: left;
  5. }

可适当修改其中 padding: 0 10px 的数字10。

23、强制文章中图片居中显示

将下面样式添加到主题选项→定制风格→输入自定义样式代码框中:

  1. .single-content img{margin: 0 auto;}

注:对于响应式设计的主题,添加图片时必须选择对齐方式为:中

24、添加浏览器title滚动、闪动特效

这是一种常见的网页特效,将下面代码添加到主题头部模板header.php,这句

  1. <?php wp_head(); ?>

的上面,保存时需将编码选择为UTF-8 无BOM(无签名),否则会出现乱码,直接在WP后台主题编辑中添加则不需要自己选择编码。

展开代码:

25、去掉正文中的摘要显示

打开主题begin主题根目录的content.php模板文件,在大约第44行找到:

  1. <?php if ( has_excerpt() ) { ?><span class=“abstract”><span>摘要</span><?php the_excerpt() ?><div class=“clear”></div></span><?php }?>

删除即可。

26、在小屏幕上隐藏首页页脚友情链接

当屏幕小于620px时隐藏页脚友情链接,把下面代码加到主题选项→定制风格→自定义样式代码框中:

  1. @media screen and (max-width: 620px) {
  2.     #links {
  3.         display: none;
  4.     }
  5. }

27、解决 WP Dialog 插件与滑动解锁冲突

张戈这个滚动条插件貌似很受欢迎,不过与Begin主题的滑动解锁有冲突,大概的原因是插件调用随机文章的函数是query_posts,干扰了滑动解锁的加载,解决办法,改为使用 WP_Query调用随机文章:

打开WP Dialog 插件scroll-bar.php文件,将大约21行开始的:

  1. <?php
  2.     wp_reset_query();
  3.     query_posts( array ( ‘orderby’ => ‘rand’, ‘showposts’ => 5, ‘ignore_sticky_posts’ => 10 ) ); while ( have_posts() ) : the_post();
  4. ?>

替换为:

  1. <?php
  2.     wp_reset_query();
  3.     $loop = new WP_Query( array ( ‘orderby’ => ‘rand’, ‘showposts’ => 5, ‘ignore_sticky_posts’ => 10 ) );
  4.     while ( $loop->have_posts() ) : $loop->the_post();
  5. ?>

之后,覆盖替换原文件即可。

28、关于缩略图…

主题对缩略图有比较严格的要求:大小比例必须相同,至于为什么请查看下文:

响应式设计为什么要求缩略图比例尺寸相同

29、回复无法邮件通知

如果你的主机不支持SMTP 发送邮件,无法实现回复邮件通知,可以安装 Configure SMTP 插件,并配置邮箱参数启用就可以了。也可以将以下代码添加到主题的 functions.php 中:

  1. //使用smtp发送邮件(请根据自己使用的邮箱设置SMTP)
  2. add_action(‘phpmailer_init’, ‘mail_smtp’);
  3. function mail_smtp( $phpmailer ) {
  4.     $phpmailer->FromName = ‘常阳时光’; //发件人名称
  5.     $phpmailer->Host = ‘smtp.qq.com’; //修改为你使用的邮箱SMTP服务器
  6.     $phpmailer->Port = 465; //SMTP端口
  7.     $phpmailer->Username = ‘123@qq.com’; //邮箱账户
  8.     $phpmailer->Password = ‘123123123’; //邮箱密码
  9.     $phpmailer->From = ‘123@qq.com’; //邮箱账户
  10.     $phpmailer->SMTPAuth = true;
  11.     $phpmailer->SMTPSecure = ‘ssl’; //tls or ssl (port=25时->留空,465时->ssl)
  12.     $phpmailer->IsSMTP();
  13. }

30、再添加一个下载按钮

主题集成的通过短代码实现的下载按钮功能,在一篇文章中只能使用一次,如果准备再加一个按钮,可以在编辑文章时,切换到“文本”编辑模式,将下面代码添加到适合的位置即可。

  1. <div id=“down”>
  2. <a id=“load” title=“下载链接” href=“替换为链接地址” target=“_blank”><i class=“fa fa-download”></i>下载地址</a>
  3. <div class=“clear”></div>
  4. </div>

自行替换其中的链接地址及按钮文字。

当然这个下载按钮无法实现弹窗效果。

31、启用主题后感觉网站打开速度变慢

一般启用CMS布局后和侧边添加了多个小工具时,会感觉速度变慢,道理很简单,页面每多加载一篇文章都会增加一次数据库查询,普通博客类主题,最多页面也就加载20几篇文章,而CMS布局加载几十篇文章是正常的事,而用主题集成的很多小工具也是大量调用文章,数据查询多,自然就慢。缓解方法:尽量少加载文章,包括少使用小工具,导航菜单也尽量不要放太多项目,启用主题自动截图功能,减小图片尺寸,安装静态缓存插件。

32、调整logo在导航菜单悬浮固定时的大小

默认logo大小是220×50px,如果logo尺寸比较大,在向下滚动网页导航菜单悬浮固定时,可能会造成图片超出导航菜单,可以将下面的代码添加到主题选项→定制风格→自定义样式代码框中:

  1. @media screen and (min-width: 900px) {
  2.     #menu-box.shadow img{
  3.         width: 198px;
  4.     }
  5. }

需要注意的是logo图片尺寸虽然可以任意,但必须大于220×50px,并保持220×50px的比例。

33、制作网站logo中,如何保证小字号中文清晰度

教大家一个在PS中制作logo,如何让比较小的中文汉字保持清晰的小技巧。

很多PS新手对字号比较小的汉字看上去模糊,感到很挠头,其实一个小技巧就可以轻松解决:

1、在处理小字号的汉字时,比如小于14px,必须选择“宋体”或者“新宋体”。

2、在PS字符面板中,选择消除锯齿的方法为“无”.

如图,上面的LOGO小字号的文字是选择“无”的效果,下面是选择“犀利”的效果。

Begin主题常见问题

34、编辑器添加表情按钮

将下面代码添加到主题functions模板最后的“// 全部结束”注释后面即可。

  1. //添加表情
  2. function fa_get_wpsmiliestrans(){
  3. global $wpsmiliestrans;
  4. $wpsmilies = array_unique($wpsmiliestrans);
  5. foreach($wpsmilies as $alt => $src_path){
  6. $output .= ‘<a class=“add-smily” data-smilies=“‘.$alt.'”><img class=“wp-smiley” src=“‘.get_bloginfo(‘template_directory’).’/img/smilies/’.rtrim($src_path, “gif“).’gif” /></a>’;
  7. }
  8. return $output;
  9. }
  10. add_action(‘media_buttons_context’, ‘fa_smilies_custom_button’);
  11. function fa_smilies_custom_button($context) {
  12. $context .= ‘<style>.smilies-wrap{background:#fff;border: 1px solid #ccc;box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.24);padding: 10px;position: absolute;top: 60px;width: 380px;display:none}.smilies-wrap img{height:24px;width:24px;cursor:pointer;margin-bottom:5px} .is-active.smilies-wrap{display:block}</style><a id=“insert-media-button” style=“position:relative” class=“button insert-smilies add_smilies” title=“添加表情” data-editor=“content” href=“javascript:;”>
  13. 添加表情
  14. </a><div class=“smilies-wrap”>’. fa_get_wpsmiliestrans() .'</div><script>jQuery(document).ready(function(){jQuery(document).on(“click”“.insert-smilies”,function() { if(jQuery(“.smilies-wrap”).hasClass(“is-active”)){jQuery(“.smilies-wrap”).removeClass(“is-active”);}else{jQuery(“.smilies-wrap”).addClass(“is-active”);}});jQuery(document).on(“click”“.add-smily”,function() { send_to_editor(” “ + jQuery(this).data(“smilies”) + ” “);jQuery(“.smilies-wrap”).removeClass(“is-active”);return false;});});</script>’;
  15. return $context;
  16. }

35、隐藏前台浏览统计

有人说开了静态缓存插件,前台不计数,有些怪,那就用隐藏掉,可以将下面的代码添加到主题选项→定制风格→自定义样式代码框中:

  1. .views, .single-meta .views {display: none;}

隐藏后,并不会影响计数,后台还在继续计数。

36、精简字体图标CSS代码

主题1.7+版本用font awesome字体图标替换主题原来的字体图标,这样在主题任意位置添加小图标方便了许多,但font awesome字体图标有400多个,有些你可能用不到,可以酌情精简不用的字体图标CSS代码,精简后主题样式文件大约会减小30KB左右。

打开主题样式文件style.css,在大约3725行,有一行“ /** 可选图标 **/ ”注释,从此以下的字体图标样式代码不是主题必须用的,都可删除。

如果你在导航菜单上添加了字体图标,比如在菜单中添加了首页小图标

  1. fa fa-home

就在样式文件style.css中搜索:fa-home 并保留类似的样式代码:

  1. .fa-home:before {
  2.   content: “f015”;
  3. }

其余没有用到的字体图标样式代码可以删除。

39、页脚版权信息回行方法

主题默认页脚内容编辑是调用的WP的自带的编辑器,可以添加任意内容,如果内容较多想回行,如果输入:

  1. <br />

当切换到可视化模式,并保存设置后,会被WP过滤掉,可以按下方法实现回行:

切换到文本编辑模式,输入类似:

  1. <div>文字内容</div>

多个回行,以此类推。

38、外链跳转路径改为网站根目录

首先,将begininc目录的go.php复制到到网站根目录(WordPress程序文件所在的位置)

其次,打开begininccore目录的setting.php,将

  1. $content=str_replace(“href=”$val””“href=””.get_template_directory_uri().“/inc/go.php?url=$val” “,$content);

替换为:

  1. $content=str_replace(“href=”$val””“href=”go.php?url=$val” “,$content);  

将:

  1. echo “<a href='”.get_template_directory_uri().“/inc/go.php?url=$url’ rel=’external nofollow’ target=’_blank’ class=’url’>$author</a>”;

替换为:

  1. echo “<a href=’go.php?url=$url’ rel=’external nofollow’ target=’_blank’ class=’url’>$author</a>”;

修改的目的是什么?有人说会暴露主题程序目录…..

39、隐藏分类目录小工具的某个分类

如果想隐藏分类目录小工具中的某个分类,可以将下面的代码添加到主题选项→定制风格→自定义样式代码框中:

  1. .widget_categories .cat-item-20{display: none;}

主题目前的样式是:

  1. .single-content p,
  2. .single-content ul,
  3. .single-content ol,
  4. .single-content dd,
  5. .single-content pre,
  6. .single-contenthr {
  7.     margin: 0 0 5px 0;
  8.     -webkit-hyphens: auto;
  9.     -moz-hyphens: auto;
  10.     -ms-hyphens: auto;
  11.     hyphens: auto;
  12.     word-wrap: break-word;
  13.     text-align: justify;
  14.     text-justify: inter-ideograph;
  15.     word-wrap: break-word;
  16. }

英文按单词回行,不过中英文混排可能会出现字间距加大问题。

可以修改为:

  1. .single-content p,
  2. .single-content ul,
  3. .single-content ol,
  4. .single-content dd,
  5. .single-content pre,
  6. .single-contenthr {
  7.     margin: 0 0 5px 0;
  8.     text-align: justify;
  9.     text-justify: inter-ideograph;
  10.     word-wrap: break-word;
  11.     word-breakbreak-all;
  12. }

英文不以单词回行,中英文混排不会出现字间距加大问题。具体使用哪种,自行选择修改吧。

41、修正1.8版分类调用杂志布局模板样式错误

打开主题根目录的category-cms.php模板,将第3行的:

  1. <link rel=“stylesheet” href=“<?php echo esc_url( get_template_directory_uri() ); ?>/cms/cms.css” />

替换为:

  1. <link rel=“stylesheet” href=“<?php echo esc_url( get_template_directory_uri() ); ?>/css/css.css” />

只是改了一下样式调用路径。

42、直接显示繁体

打开主题beginjs目录的gb2big5.js文件,将第3行的:

  1. <link rel=“stylesheet” href=“<?php echo esc_url( get_template_directory_uri() ); ?>/cms/cms.css” />

替换为:

  1. <link rel=“stylesheet” href=“<?php echo esc_url( get_template_directory_uri() ); ?>/css/css.css” />
  1. var Default_isFT = 0

后面的数字 0改为1即可。

注:另外这个简繁体转换功能,如非必要,建议不要开启,会对加载速度有一定的影响。

43、批量删除手动添加的缩略图

主题新版本已集成自动裁剪文章中图片作缩略图功能,所以之前手动添加的缩略图地址可能与目前的尺寸不同,逐一编辑修改文章工作量比较大,可以用下面方法,批量删除这个手动添加的缩略图(自定义栏目),将下面的代码添加到主题functions.php模板文件的最后,并上传覆盖主题原文件

  1. global $wpdb;
  2. $wpdb->query( 
  3. DELETE FROM $wpdb->postmeta
  4. WHERE `meta_key` = ‘thumbnail’
  5.  );

之后,手动缩略图添加的自定义栏目‘thumbnail’ 会被删除,并显示自动裁剪的缩略图。

注:以上代码只使用一次就可以了,不用留在主题模板中,删除缩略图片后,需要将该代码删除并还原functions.php模板文件。

44、微调杂志布局小工具高度

主题新增的杂志布局小工具,可使杂志首页布局更加灵活多变,但有一个问题就是,不同的小工具组合在一起,会产生高度不同底部对不齐,可以通过下面的方法进行一下微调使之齐,从而加美观一些。

使用工具,火狐及其Web开发扩展Firebug,当然也可以使用其它类似的浏览器扩展功能,目的是找到准备修改模块的CSS选择器。

鼠标停在修改模块右键调出菜单选择“使用Firebug”查看元素,找到模块选择器,如图:

Begin主题常见问题

会看到这个模块的外层是#img_widget-15,内层是.img_widget

找到这个就可以了,将下面代码加到主题选项→定制风格→自定义样式代码框中:

  1. #img_widget-15 .img_widget{
  2.     padding: 3px 0 3px 0;
  3. }

45、增强文本小工具应用实例

新增加的增强文本小工具可以运行PHP代码(WP自带的不可以),可以任意添加运行网上淘来的代码,比如下面的代码是调用ID为88的分类最新的5篇文章,并有缩略图:

  1. <div class=“new_cat”>
  2.     <ul>
  3.         <?php
  4.             $loop = new WP_Query( array ( ‘showposts’ => 5, ‘cat’ => 88, ‘post__not_in’ => get_option( ‘sticky_posts’) ) );
  5.             while ( $loop->have_posts() ) : $loop->the_post();
  6.         ?>
  7.         <li>
  8.             <figure class=“thumbnail”>
  9.                 <?php if (zm_get_option(‘lazy_s’)) { zm_thumbnail_h(); } else { zm_thumbnail(); } ?>
  10.             </figure>
  11.             <div class=“new-title”><a href=“<?php the_permalink(); ?>” rel=“bookmark”><?php the_title(); ?></a></div>
  12.             <div class=“date”><?php the_time(‘m/d’) ?></div>
  13.             <?php if( function_exists( ‘the_views’ ) ) { the_views( true, ‘<span class=“views”><i class=“fa fa-eye”></i> ‘,'</span>’ ); } ?>
  14.         </li>
  15.         <?php endwhile; ?>
  16.         <?php wp_reset_query(); ?>
  17.     </ul>
  18. </div>

这个与主题集成的带缩略图的最新文章小工具外观没有区别,区别是默认小工具标题是不能加链接的,这个增强文本小工具可以自定义标题链接,方便浏览者点击标题查看更多相关分类的文章。

上面代码直接加到增强文本小工具中即可。

46、为单独的某篇文章添加背景

将下面的代码添加到主题选项→定制风格→自定义样式中:

  1. .postid-6367 {
  2.     background: #f1f1f1;
  3.     background:url(‘http://zmingcx.com/wp-content/uploads/2012/08/79760-772704496-8.gif’);
  4. }

其中:postid-6367为该文章页面特有选择器,后面的数字为文章ID。

可以通过查看网页源代码中这句:

<body class=”single single-post postid-6367 single-format-standard logged-in”>

获得。另外,背景颜色与图片只选择添加一个样式属性就可以了。

效果见本文背景色

 

待续…..

WordPress pingback DDOS攻击 nginx防护图文教程

最近老是被攻击,最后分析日志后发现是Wordpress 的 pingback 漏洞导致的DDOS攻击,日志如下:

  1. 192.241.x.x – – [07/Apr/2016:12:22:44 +0800] “GET /index.php HTTP/1.0″ 200 “-” “WordPress/3.9.2; http://www.x.x; verifying pingback from 69.30.x.x” “-“

这里很明显,全部都是Wordpress。下面我们给出防护nginx,apache的防护方案教程(请根据自己的WEB服务器判断是哪一种):

Nginx:

在 location / 区块种添加如下代码:

  1. # WordPress Pingback Request Denial
  2. if ($http_user_agent ~* “WordPress”) {
  3. return 403;
  4. }

这样的话有请求也不会去找PHP了,nginx及时的返回403,如果连接过多的话需要修改nginx中 worker_connections的参数值,可以把它增加到更大的值。

Apache:

在配置文件中添加:

  1. BrowserMatchNoCase WordPress wordpress_ping
  2. BrowserMatchNoCase WordPress wordpress_ping
  3. Order Deny,Allow
  4. Deny from env=wordpress_ping

然后reload服务。再观察日志,可以看到全部返回403了。网站也恢复了正常访问。

如果上面的方法还是无法正常访问那就需要用到iptables了。

IPTABLES防护:

  1. cat /var/log/nginx/access.log | grep “verifying pingback from” > pingback_attack.log

然后用php分析日志,导入到iptables规则中。

  1. <?php
  2. error_reporting(0);
  3. $reqs = file(“pingback_attack.log”);
  4. foreach ($reqs as $req) {
  5. $ip = explode(” – – “, $req);
  6. $ip_address[$ip[0]]++;
  7. }
  8. arsort($ip_address);
  9. foreach ($ip_address as $ip=>$attack_times) {
  10. print “# WordPress IP. Attacked {$attack_times} times<br />”;
  11. print “iptables -A INPUT -s {$ip} -j DROP<br />”;
  12. }
  13. ?>

然后将输出的内容执行到iptables规则里面。

WordPress图片水印插件

强调图片版权,防止懒人直接盗图,给图片加上水印还是很必要的。图像处理熟手,对上传到主机的图片都会进行一些修饰,顺便加上水印,是很简单的事,但大部分童鞋还是喜欢能自动给图片加上水印,WordPress有强大的插件能为我们提供方便。

WordPress插件安装页面,输入“watermark ”关键词并搜索,会找到众多的图片加水印插件,比如:

  • Easy Watermark
  • Transparent Image Watermark
  • Signature Watermark
  • watermark
  • Image Watermark
  • Watermark Reloaded
  • Image Watermark WP
  • Add Watermarks
  • …………..

大部分是英文的,功能基本相近,设置都很简单,但还是我们母语看着亲切,最终找到一个很陈旧据说是原创的中文图片水印插件:DX-Watermark,如图:

可以为图片添加文字水印或者图片水印,汉字水印需要上传中文字体到插件指定目录才能显示。

DX-Watermark插件虽然已多年未更新,经测试使用一切正常。

不要插件!轻松整合 WordPress 与七牛云存储 CDN 加速服务

不要插件!轻松整合 WordPress 与七牛云存储 CDN 加速服务

免费的优质服务谁不爱?凭借 10G 流量 + 10G 存储的免费套餐,七牛云存储快速获得了大批的用户。其中 WordPress 博主占了不小的比例,作为其中的一员,我来说下怎么在不需要插件的情况下让 WordPress 用上七牛云存储 CDN 加速服务。

第一步:创建七牛公开空间

首先,你得有一个七牛账号(这不是废话么~)。什么?你才知道七牛?那还不快注册成为七牛用户,立即享受每月 10G 流量 + 10G 存储的免费服务。

有了账号,你就可以新建空间,我们需要建立一个公开空间。

qiniu0
七牛云存储 – 新建空间

第二步:设置镜像存储

成功建立空间之后,打开该空间的【空间设置】页面。
七牛云存储 – 空间设置

在【域名设置】下,我们知道了该空间的默认域名,你也可以绑定自己的域名,这里不展开讨论。

在【镜像存储】下,点击【一键加速网站】按钮,在弹出的对话框中,【镜像源】填写你的博客地址,确定即可。

qiniu1
七牛云存储 – 加速设置

设置加速后,http://wuwenwu.com/folder/file.jpg 就可以通过

http://lucktang.u.qiniudn.com/folder/file.jpg 来访问了。

也就是说,我们只需将 WordPress 输出的内容中,所有的 http://lucktang.com/ 域名替换为

http://lucktang.u.qiniudn.com/ 就能实现 CDN 加速。(仅作举例,只替换域名是错误的)

第三步:添加 WordPress 代码

在 WordPress 主题目录下的 functions.php 文件中,加入以下代码实现替换功能:

  1. if ( !is_admin() ) {
  2.     add_action(‘wp_loaded’,’lucktang_ob_start’);
  3.     function lucktang_ob_start() {
  4.         ob_start(‘lucktang_qiniu_cdn_replace’);
  5.     }
  6.     function lucktang_qiniu_cdn_replace($html) {
  7.         return str_replace(‘[这里填写博客路径]’, ‘[这里填写七牛空间路径]’, $html);
  8.     }
  9. }

以上传目录 wp-content/uploads/ 文件夹为例,路径就应该替换为如下代码:

  1. return str_replace(‘http://lucktang.com/wp-content/uploads/’, ‘http://lucktang.u.qiniudn.com/wp-content/uploads/’, $html);

如果你需要更具体的范围控制(多目录、指定文件类型),可使用以下代码替换上面的lucktang_qiniu_cdn_replace 部分:

  1. //修改自七牛镜像存储 WordPress 插件
  2. function lucktang_qiniu_cdn_replace($html){
  3.     $local_host = ‘http://lucktang.com’; //博客域名
  4.     $qiniu_host = ‘http://lucktang.u.qiniudn.com’; //七牛域名
  5.     $cdn_exts   = ‘js|css|png|jpg|jpeg|gif|ico’; //扩展名(使用|分隔)
  6.     $cdn_dirs   = ‘wp-content|wp-includes’; //目录(使用|分隔)
  7.     $cdn_dirs   = str_replace(‘-‘, ‘-‘, $cdn_dirs);
  8.     if ($cdn_dirs) {
  9.         $regex  =  ‘/’ . str_replace(‘/’, ‘/’, $local_host) . ‘/((‘ . $cdn_dirs . ‘)/[^s?\’“;><]{1,}.(‘ . $cdn_exts . ‘))([“\’s?]{1})/’;
  10.         $html =  preg_replace($regex, $qiniu_host . ‘/$1$4’, $html);
  11.     } else {
  12.         $regex  = ‘/’ . str_replace(‘/’, ‘/’, $local_host) . ‘/([^s?\'”;><]{1,}.(‘ . $cdn_exts . ‘))([“\’s?]{1})/’;
  13.         $html =  preg_replace($regex$qiniu_host . ‘/$1$3‘, $html);
  14.     }
  15.     return $html;
  16. }

大功告成

简单的3步,就能让你的 WordPress 实现 CDN 加速。当然,如果你的需求还包括加速远程图片或刷新缓存等,那么还是老老实实安装七牛镜像存储 WordPress 插件吧。

低版本IE自动切换到其它WordPress主题

目前响应式WordPress主题大行其道,但在低版本IE下却惨不忍睹,而且从网站统计数据看还存在大量的使用低版本IE用户,本文介绍一个方法可以让低版本IE自动切换到其它兼容主题。

首先,需要安装主题演示插件:WordPress Theme Demo Bar

之后,将下面的代码添加到主题functions.php中:

  1. function Bing_theme_demo_index(){
  2.     $theme = ‘twentytwelve’;//要跳转的主题的目录名称
  3.     $pageURL = ‘http’;
  4.     if($_SERVER[“HTTPS”] == “on”$pageURL .= “s”;
  5.     $pageURL .= “://”;
  6.     if($_SERVER[“SERVER_PORT”] != “80”$pageURL .= $_SERVER[“SERVER_NAME”] . “:” . $_SERVER[“SERVER_PORT”] . $_SERVER[“REQUEST_URI”];
  7.     else $pageURL .= $_SERVER[“SERVER_NAME”] . $_SERVER[“REQUEST_URI”];
  8.     $parse_url = parse_url$pageURL, PHP_URL_QUERY );
  9.     ifempty$parse_url ) ) $header = $pageURL . ‘?themedemo=’ . $theme;
  10.     else{
  11.         ifstrpos$pageURL , ‘?themedemo=’ ) ) return;
  12.         else $header = ‘&themedemo=’ . $theme;
  13.     }
  14.     header( ‘Location:’ . $header );
  15.     exit();
  16. }
  17. ifstrpos$HTTP_SERVER_VARS[HTTP_USER_AGENT], “MSIE 8.0” ) || strpos$HTTP_SERVER_VARS[HTTP_USER_AGENT], “MSIE 7.0” ) || strpos$HTTP_SERVER_VARS[HTTP_USER_AGENT], “MSIE 6.0”) ) add_action(‘init’, ‘Bing_theme_demo_index’);

找一款可以兼容低版本IE的主题放到主题目录中,并修改上面注释部分的主题目录名称即可。

另外,还需要到WordPress Theme Demo Bar插件设置→Plugin Options中,勾选“Hide Demo Bar”隐藏顶部的演示导航条。

代码出自:http://www.bgbk.org/wp-theme-demo-index.html