my blog my blog

Tag: Wordpress
PHP7环境下使用OPcache提高WordPress网站性能8倍

奶牛一直以为自己的服务器都开了OPcache,但是后来发现只是编译了,但是没有启用,今天启用了PHP7的OPcache,来发一份儿体验报告。

配置OPcache

配置文件为/usr/local/php/etc/php.ini,添加内容

[zend opcache]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/opcache.so"
opcache.force_restart_timeout=3600
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable=1
opcache.enable_cli=1

其中的zend_extension为你服务器编译后opcache.so文件的位置。

OPcache性能测试

载入时间数据比较:

OPcache载入时间比较

性能比较:

OPcache性能比较

测试结论

经过奶牛的测试,在服务器未启用WordPress cache插件的时候,CPU的飙升是非常厉害的,严重影响服务器性能,因此无WordPress插件的情况下,并未完全遵从1000次测试,但是图表已经完全可以说明性能的比较了。

WordPress的cache插件对网站性能提升至关重要,OPcache的存在也能最大性能的提升WordPress服务器的性能,对比而言,OPcache可以提升PHP7约3倍的性能,WordPress的cache插件可以提升约4~5倍的性能,WordPress启用cache插件并且在PHP7下启用OPcache,性能提升8倍。

所以,奶牛强烈建议WordPress的用户使用PHP7并开启OPcache,并且为WordPress安装一款cache插件,保证服务器的性能最优。

WordPress的Google字体本地缓存方案

一直以来,Google字体都是困扰国内WordPress用户的一个问题。原因也很简单,载入慢,甚至可能由于载入慢导致页面卡死无法显示,这对于用户体验来说是很差的,disable google font这个插件也紧紧是对部分主题生效,对插件也没什么作用,而且测试下来效果很一般。如果你的主题还有禁止Google字体的选项那么就还挺好的,如果没有,奶牛建议可以试试Self-Hosted Google Fonts这个插件,效果很棒。

Self-Hosted Google Fonts的原理也很简单,首先就是扫描css文件里面的google fonts,然后把这些fonts下载到本地,之后把含有google fonts的css文件的链接替换掉,这样子下来,每次访问网站都是从本地读取Google字体,然后从本地分发至用户,虽然可能这样子会耗费很多流量在字体上,但是奶牛觉得还是挺值得的,至少网站的访问速度会提升很多,而且不用复杂地去修改css文件查找Google字体的链接然后本地话或者去除,而且也可以保存一个很好的字体显示效果。

最后附上链接:Self-Hosted Google Fonts

WordPress清除所有meta generators信息

奶牛最近用了The 7 主题,发现生成的页面中meta generators信息暴露太多,严重影响网站的安全,所以找了下如何清除所有wordpress的meta generators信息。只需要在主题的function.php文件中添加如下代码即可:

//Remove All Meta Generators
function remove_meta_generators($html) {
    $pattern = '/<meta name(.*)=(.*)"generator"(.*)>/i';
    $html = preg_replace($pattern, '', $html);
    return $html;
}
function clean_meta_generators($html) {
    ob_start('remove_meta_generators');
}
add_action('get_header', 'clean_meta_generators', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);

 

关于Prism Syntax Highlighter中Command Line插件的配置教程

Prism Syntax Highlighter是一款wordpress中的代码高亮插件,奶牛非常喜欢它的Command Line功能,但是默认集成的情况并不好,奶牛就自己查看代码来处理了一下。我们先看看效果吧。

正常带行号格式:

这是第一行文字
这是第二行文字
这是第三行文字

Bash命令格式:

uname -a
ifconfig
ls

Bash命令带输出格式:

uname -a
Linux nenew.net 4.15.0-041500-generic #201801282230 SMP Sun Jan 28 22:31:30 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:36614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36614 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18070026 (18.0 MB)  TX bytes:18070026 (18.0 MB)

使用行号的时候格式:

Output Lines:2,4-11

这就可以设置为单行或者多行同时输出显示了。

插件下载地址:Prism Syntax Highlighter

修改后的editor-plugin.js文件下载:editor-plugin.js

安装插件后替换掉其中的./assets/editor-plugin.js文件,然后在插件的设置页面中激活功能即可实现bash的命令行和行号的输出功能。

WordPress 4.6使用原生字体代替谷歌字体

 

WordPress使用原生字体取代谷歌字体,所选用字体覆盖了所有主流操作系统,包括:安卓,苹果iOS,Windows,苹果macOS,以及Linux。

 

完整的 CSS 代码是这样的

font-family: -apple-system,            BlinkMacSystemFont,            "Segoe UI",            Roboto,            Oxygen-Sans,            Ubuntu,            Cantarell,            "Helvetica Neue",            sans-serif; 

这其中:

-apple-system: 用于 Safari 浏览器(iOS及macOS),和 Firefox (macOS);
BlinkMacSystemFont: 用于 Chrome 浏览器(macOS);
Segoe UI: 用于微软 Windows 系统;
Roboto: 用于安卓系统及 Chrome OS 系统;
Oxygen-Sans: 用于 KDE 系统;
Ubuntu: 用于 Ubuntu 系统;
Cantarell: 用于 GNOME 系统;
Helvetica Neue: 用于 macOS 10.11 之前的版本;
sans-Serif: 标准会滚字体,以上都没有的话,用这个字体。

可以看出,在 Safari ,Chrome,以及 iOS 和 macOS 上的 Firefox 浏览器中,都将调用系统界面默认字体;而在其他平台上,都将根据具体的字体名字来进行调用。

wordpress主题制作去除wp_nav_menu()函数生成li标签教程

 

奶牛想要写一个wordpress主题,把Twenty Thirteen给做个大手术吧,换上自己需要的东西,今天开始。问题好多,php不熟,wp函数不熟,一个问题,查了半天,代码一行,搞定。

  1. <?php echo strip_tags(wp_nav_menu( array( 'container' => false,'echo' =>false,'items_wrap' => '%3$s','before'=>'<div class="element">','after'=>'</div>') ),"<div><a>"); ?> 

解析下,首先是wp_nav_menu的参数,container就是外面默认包裹的ul标签,这个直接去掉,echo这个参数是把函数的结果作为一个值返回而不是直接输出,items_wrap是单条链接的输出,直接输出即可,before和after这里可以用div来做包裹,自己根据个人需要来,最后就是strip_tags函数了,直接strip_tags("something","tag")将不需要剔除的标签保留,需要剔除的剔除。

原来wordpress的模板不能多空行

 

昨天看自己的博客的ubuntu页跟android页,发现上面有两行空白行,而且从html里面找不到任何错误,很纠结,然后就对照首页看,还真看出来了,原来多了两个空白行,而且空白行还表达了,纠结,删除之,一切搞定.所以呢

<?php
/*
Template Name: Ubuntu
*/
?>

template后面是模板的名称,然后直接跟内容,不要有空行.

出售域名wp7mall.com

 

呃,还是出手掉吧。本来打算自己做个wp7的门户呢,思来想去还是太浪费时间了,自己最近本来有挺懒惰的,直接出了吧。

域名的含义比较明显:

wp可以作为wordpress的缩写

wp7是最新的windows phone的系统windows phone 7的缩写

mall是商城,超市的意思

现在带mall的域名大家可以去godaddy自己看下价位,$1000+很正常,因为做电子商务的越来越多,所以mall啊shop啊这样子的字眼都很热门。wp7mall呢不仅在国内,就算拿出去也能算个不错的域名,而且wp7系统注定会火一大把,虽然现在Android还是主力军,但是wp7的性能(特别是游戏方面)不可小觑哦,毕竟人家也是做了多年的智能系统,相当成熟了。

ok,介绍就写这么多吧,打算这个域名卖个touchpad的钱就可以了(穷人啊,忽然想到那个卖肾买苹果的人了,总得卖点儿啥啊)。有想收下此域名的朋友可以留言联系奶牛,留下您的QQ邮箱即可,到时候QQ交谈。或者直接与奶牛联系

WordPress高亮插件推荐之Syntax Highlighter Compress

 

前几天顾客买主机的时候说想让奶牛帮着安装个高亮插件,奶牛平时虽然有写一些代码出来,但是都是命令类的,所以也没用过高亮代码。前阵子帮群里MM小青青在blogcn那里调用过它们的高亮插件,每次插入代码都需要手动来调整,不是很舒服,这次介绍的这款插件Syntax Highlighter Compress可以直接在工具栏中找到,插入代码的时候直接插入就ok,不用手动切换到html上来修改代码了。

插件支持的代码类型有:

AppleScript, ActionScript3, Bash/shell, Coldfusion, C#, C++, CSS, Delphi, Diff, Erlang, Groovy, JavaScript, Java, JavaFX, Perl, PHP, Plain Text, Python, Ruby, Scala, SQL, Visual Basic , XML

Syntax Highlighter Compress下载:点此下载

安装方法,直接解压缩到wordpress的wp-content/plugins下面就可以了。

从Akismet黑名单中解救自己的邮箱网站信息

 

最近跑去别人的blog留言,发现自己的评论老是莫名其妙的被吃掉,Wordpress吃评论的东东一想就是Akismet,难道自己被打入黑名单了?不是吧,奶牛这么兢兢业业的也被打进去了是不是太残忍了,不行,咱得自救啊~~~

google了一下有同样问题的朋友还不少,方法嘛就是手动提交申请到Akismet的官网,来解救自己的帐号。奶牛说下方法:

1.进入网址http://akismet.com/contact/来打开akismet的联系页面,页面全英文,不过没关系,奶牛领着你一步步走。

Questions, comments and criticisms are all welcome.

下方选择 I think Akismet is catching my comments by mistake

我认为Akismet把我的评论误吞了

2.回答那个数学问题?答案自己算哈Your name填你常用的网名,留言那个, 填写你常用的邮箱,也填平时留言那个,Your blog URL你博客的地址,API key (if known)这里选填,直接掠过就好了,

My comments were caught by your Akismet and i think that my infomation is in your blacklist.I want get myself out your blacklist and can leave comments on others’ blog.

3.提交等回复,奶牛昨晚提交的今天就收到了邮件回复

Hi,

Sorry for the problem.  I believe it is fixed now.


-- 
Mark 

吼吼,搞定,黑名单自救完成。

最后想说一句,如果看到自己的垃圾评论中有非垃圾评论,一定一定要把他们救出来啊~~~