存档

文章标签 ‘wordpress’

WordPress 3.X代码实现关闭程序、主题、插件更新提示

2012年1月25日 没有评论

因为现在使用的主题是很久以前的主题,一直都出现更新提示。但是有一个问题就是,新的版本跟现在的主题完全就不是一个,等于是一个全新的主题。确实让人有点难堪,每次都看见后台有一个更新提示却不能更新,这对于我们这种轻度强迫症的人来说,简直是无法容忍。所以找到以下办法帮我们关闭Wordpress后台主题更新的提示,同时提供关闭Wordpress主程序、插件的更新提示代码,给那些担心插件兼容性等问题的童鞋使用。

一句代码就可以搞定了,以下分别是关闭主程序、、主题更新提示的代码,将需要的部分加入主题文件夹functions.php文件中:

add_filter(‘pre_site_transient_update_core’, create_function(‘$a’, “return null;”));
add_filter(‘pre_site_transient_update_plugins’, create_function(‘$a’, “return null;”));
add_filter(‘pre_site_transient_update_themes’, create_function(‘$a’, “return null;”));

上面的代码只是关闭提示,而下面的代码可以直接关闭对更新的检查,据说可以提升后台速度。代码依次为:

remove_action(‘admin_init’, ‘_maybe_update_core’);
remove_action(‘admin_init’, ‘_maybe_update_plugins’);
remove_action(‘admin_init’, ‘_maybe_update_themes’);

注意,后面一段代码无法单独生效,要想彻底禁止更新,两段代码要同时加上方能见效。

就是这么简单,折腾控们可以折腾去了

分类: 猫玩技术 标签: , ,

WordPress 语言文件.po .pot和.mo简介及汉化教程

2011年12月17日 6 条评论

使用WordPress的朋友都会发现有一些.pot或是.mo为后辍名的文件,这些文件其实就是WordPress程序的语言包及编译文件.我们把做的就是把这些文件翻译成中文并编辑为.mo格式.现在先介绍一些基本知识,让我认识pot文件、po文件、mo文件分别是什么和它们之间的关系。

一、文件简介
.po文件,.mo文件,.pot文件是由gettext程序生成或者使用的源代码和编译结果。

1、.pot文件
是一种模板文件,其实质与.po文件一样,其中包含了从源代码中提取所有的翻译字符串的列表,主要提供给翻译人员使用。

2、.po文件

  • 用程序msginit来分析pot文件,生成各语言对应的po文件,比如中文就是zh_CN.po,法语就是fr.po文件。
  • PO是Portable Object(可移植对象)的缩写形式,它是面向翻译人员的、提取于源代码的一种资源文件。
  • .po文件可以用任何编辑器如poEdit,vi,Emacs,editplus打开,交给翻译人员来将其中的文字翻译成本国语言。

3.mo文件

  • 用msgfmt将.po文件编译成mo文件,这是一个二进制文件,不能直接编辑。
  • MO是Machine Object(机器对象)的缩写形式,它是面向计算机的、由.po文件通过GNU gettext工具包编译而成的二进制文件,应用程序通过读取.mo文件使自身的界面转换成用户使用的语言,如简体中文。
  • 可以用工具如msgunfmt命令将.mo文件反编译为.po文件。

不止 ,包括很多桌面应用程序都是是依靠 po 文件或 mo 文件来实现多语言版本。一般情况下,我们在汉化软件的时候会碰上如下几种情况:

二、几种情形
1、如果程序本身提供了.po文件,直接使用poEdit汉化,并自动生成.mo文件。
2、如果程序提供了.pot文件,复制一份并更改后缀名为.po,再使用poEdit汉化,最后生成.mo文件。
3、程序既没有提供.po文件,也没有提供.pot文件,只提供了.mo文件,那么有以下步骤:
(1)使用poEdit安装程序bin文件夹中的msgunfmt程序将.mo文件转换成.po文件,命令类似如下:msgunfmt

d:\demo.mo -o d:\demo.po

注:在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安裝目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下使用。
(2)使用poedit汉化,然后生成.mo文件。

三、参考资料
1、在Windows系统搭建Linux软件汉化平台
2、Wordpress语言文件介绍:po文件,mo文件,pot文件
3、如何汉化 po 文件及编译成 mo 文件
如何汉化 po 文件及编译成 mo 文件
本文介绍如何 汉化、翻译 po 文件 及 编译、转换成 mo 文件

我们在使用 WordPress 及其插件时,经常可以找到汉化的版本,一般是通过一个汉化过(翻译过)的 mo 文件来实现( WordPress 仅可识别 mo 文件),实际上不单 WordPress ,包括很多桌面应用程序都是是依靠 po 文件或 mo 文件来实现多语言版本。如果原作者提供了一个 po 文件或 mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本。因为 mo 文件不能直接编辑,所以我们得编辑 po 文件,若仅有 mo 文件,那么就应该先把它转换成 po 文件后再进行编辑翻译。

至于编辑工具,由于 po 文件本身就是一个文本文件,所以任何文本编辑器都可以使用。除了专门编辑 po 文件的 poEdit ,还推荐使用 poEdit 、EditPlus、UltraEdit或者你喜欢的 vi 或 vim。
我们来看一个 po 文件,这是 yskin 制作的 WordPress 2.11 中文版 po 文件 中的一部分

msgid ""
msgstr ""
"Project-Id-Version: WordPress 2.1-1.0\n"
"PO-Revision-Date: 2007-02-22 12:35+0800\n"
"Last-Translator: yskin \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Basepath: d:/wordpress\n"
"X-Poedit-Language: Simplified Chinese\n"
"X-Poedit-Country: China\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-KeywordsList: _e;__;__ngettext:1,2\n"
"Language-Team: \n"
"POT-Creation-Date: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SearchPath-0: .\n"

# 第一条要翻译的字符串。
#: wp-comments-post.php:15
msgid “Sorry, comments are closed for this item.”
msgstr “对不起,这篇文章禁止评论。”

上面是这个 po 文件的最初部分,各行意思一目了然,注意编码尽可能采用UTF-8。

# 第一条要翻译的字符串。
#: wp-comments-post.php:15
msgid “Sorry, comments are closed for this item.”
msgstr “对不起,这篇文章禁止评论。”

这段就是po文件的主体结构了,每一个翻译项占一段。#: wp-comments-post.php:15 说明字符串相应的位置; msgid “Sorry, comments are closed for this item.” 翻译前的原文; msgstr “对不起,这篇文章禁止评论。” 翻译后的字符串。以此类推,即可完成所有资源的翻译。非常简单。
那么如何将 po 文件编译成(转换) mo 文件呢?

如果你使用的是 poEdit ,按 Ctrl + s 保存就会自动生成相应的 po 文件和 mo 文件;
或者在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安裝目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下,或者安装 .Net 2.0环境。

另外推荐一款 GUI 界面的转化程序 po2mo.exe ,作者的说明:该程序是调用 msgfmt.exe 和 msgunfmt.exe 文件,从而进行po 、mo 文件互转。文件是用C#写的,需要.Net 2.0环境。

下面介绍几个工具的简单使用方法:

用Pootle翻译WordPress

  1. 在Pootle服务器注册一个账号,发送一份邮件给管理员,要求增加我们的目标语言版本的WordPress
  2. 开始翻译前,请登录Pootle。未登录用户有时能够浏览内容、提交意见,但翻译是登录用户的独有权利,不登录无法翻译。
  3. 访问目标语言的WordPress页面。例如Afrikaan语的页面是pootle.locamotion.org/af/wordpress/(不要忘了结尾斜线)。
  4. 点击“Show Editing Functions(显示编辑功能)”
  5. 点击“Quick Translate(快速翻译)”以编辑未翻译的与语义含糊的内容,或点击“Translate All(翻译全部)”以编辑所有内容。

为了能在locamotion.org上翻译WordPress,wordpress.pot文件被分散成多个小逻辑单元,其中包括readme.html文件,还包括一个包含所有内容的文件,用户可将该文件按正常步骤手动添加到PHP文件中。 这里这里有对WordPress翻译的相关介绍。

将翻译结果整合到wordpress.pot 正常情况下,翻译人员可用Pootle服务器随时下载自己翻译的软件的PO文件,并将下载的文件提交到自己的翻译项目中。但由于在pootle.locamotion.org上,原始源代码被分散成多个小单元,翻译人员不得不手动整合翻译结果和wordpress.pot文件,之后再将结果提交到WordPress。

  1. 下载官方WordPress POT file
  2. 下载WordPress Continent POT file (可选操作)
  3. 在本地机器上下载并安装 Translate Toolkit
  4. 从Pootle服务器上下载经过翻译的或部分翻译的PO文件。可以逐个下载,也可以以ZIP文件形式一次性下载(参见网站上的选项)。一般情况下下载经过翻译的PO文件无需登录Pootle。
  5. 首先将PO文件整合到0翻译记忆中(整合后,之后的操作中只需要处理一个文件),在命令行中执行以下命令:po2tmx -l xx -i pofiles -o xx.tmx,其中xx即你的目标语言代码。以上操作生成一个名为xx.tmx的TMX翻译记忆文件。
  6. 接下来根据翻译记忆文件预翻译WordPress POT文件。可执行以下命令进行预翻译:pot2po –tm=xx.tmx -i wordpress.pot -o wordpress_xx.po。该命令为目标语言生成一个PO文件,文件名为wordpress_xx.po。
  7. 最后,在命令行中使用pocount wordpress_xx.po来计算PO文件的字数/字符数,查看有多少内容已经被翻译,多少内容还没有翻译或意义不明。

如果所有PO文件都被100%翻译了,最终的wordpress_xx.po文件也会被100%翻译。如果PO文件中有字符串没有被翻译,pot2po命令可能会造成wordpress_xx.po文件中的翻译语句含意模糊(这未必是坏事)。

用poEdit翻译WordPress

  1. 下载并安装poEdit
  2. 下载官方WordPress POT file
  3. 在poEdit中打开官方WordPress POT文件
  4. 标注有①的文本框是POT文件中的原始信息(英文)。在标注有②的文本框中添加对①的翻译,在标注有③和④的文本框中添加对该信息的注释。与翻译团队合作时,可以通过这种方式分享自己对PO文件内容的看法。
  5. 文件——另存为….中将翻译结果保存为PO文件。
  6. 翻译完毕后,再次在文件——另存为….中将翻译结果保存为PO文件。
  7. 也可以点击文件——优先级,然后在编辑框中点击保存时自动编译.mo文件

用KBabel翻译WordPress

本部分内容不完整。

  1. 下载官方WordPress POT file
  2. 在KBabel中打开文件

用Gettext工具翻译WordPress

  1. 下载官方WordPress POT file
  2. 在常用的文本编辑器中打开文件
  3. 升级页头信息
  4. 翻译信息
  5. 以.po为扩展名保存文件
  6. msgfmt -o filename.mo filename.po

wordpress修改仅首页显示友情链接

2011年10月15日 10 条评论

做seo优化,友情链接的整站链接和只是首页链接是有很大区别的。会分散权重。很多常见wordpress主题模板,都是设置全站友情链接的,所以我们需要实现wordpress只在首页显示友情链接就又需要折腾wordpress了。
下面三米给大家来说说修改wordpress友情链接的seo优化技巧。这个也让三米最近折腾了一段时间。
方法一:修改主题源代码
在后台找到主题中友情链接放置的位置,后台-外观-编辑器中可以找到。一般主题的友情链接是放在侧边(sidebar.php) 中,也有放在页脚(footer.php)的,根据自己主题找到友情链接代码:<?php wp_list_bookmarks(); ?>
之后,替换成如下代码:

<?php if ( is_home()) { ?>

<?php wp_list_bookmarks(); ?>

<?php } ?>


代码解释:is_home(); 说明这段代码包含的友情链接只在首页显示。

但是我用这个代码测试了,没效果,检查内容页也依然有友情链接,一直想不明白是什么问题?之后请教高人,wordpress高人很多的,终于找到解决的办法了。
只要在 is_home(); 之前加一个 wp_reset_query(); 就可以解决了,完美搞定。
最终代码如下:

<?php wp_reset_query(); if ( is_home()) { ?>

<?php wp_list_bookmarks(); ?>

<?php } ?>

方法二:插件设置

1、插件名称:Widget Logic 在后台搜索安装启动。
2、之后看图说话,后台设置。后面选项中填is_home()&&!is_paged()然后点击保存就设置完成了

wordpress友情链接设置图
3、一些常用的显示指令
is_home() 主页
is_admin() 管理员帐号
is_single() 文章页
is_page() 页面
is_404() 页面无法找到页
is_search() 搜索结果页
is_feed() 订阅页
!is_category(5) 仅在ID非5的分类显示
is_category() 文章分类页
is_tag() 文章标签页
is_archive() 归档页
下面解释一些符号的意思:||表示或,&&表示和,!表示非。
PS:这个插件方法笨猫没实践过,想弄的自己折腾去吧。

加速WordPress的几个方法

2011年5月22日 14 条评论

WordPress加速已经不是什么新鲜话题了,曾在一站长论坛里看到一篇关于WordPress提速的文章,讲了很多的方法,用了一大堆插件,可能是想把WordPress加速做到极致吧。但读完后却是一头雾水,我觉得这样往往适得其反。

这里,我说一下个人感觉一些高效可行的方法:

一.图片加载延迟

即图片岁下拉滚动条依次显示,这样在很大程度上得到了提速,尤其是图片比较多的站。方法很简单,自己去网上搜索一下,非常的多。

二.图片本地缓存

包括JS、Flash等,把这些元素缓存后,用户第二次再去访问你的站时,那速度将是秒开。推荐使用.htaccess缓存图片,方法:直接在.htaccess中添加如下代码:

# Image and Flash content Caching for One Month<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf)$”>Header set Cache-Control “max-age=2592000″</FilesMatch>

 

这里说一下,WordPress评论者头像gravatar,大家可能感觉到了,Gravatar明显会拖慢网站速度,以至于一些博客不让显示Gravatar头像或用神秘人代替了。也有一些站点追求比较苛刻,本地化了Gravatar头像,后者我不推荐,尤其是网站评论较多,那将给服务器带来巨大的压力。

三.开启wordpress的GZIP

首先你可以用站长工具检测一下代码是否有必要压缩

http://tool.chinaz.com/Gzips/Default.aspx

开启gzip方法也很多,

方法1:使用gzippy插件,直接安装启用即可。

方法2:在Cpanel面板中实现

C面板中有个 Optimize Website ,点击进入后选中 Compress all content,Update settings即可开启我们的网站加速功能~当然,我们也可以根据自己的需要,选择第三项,压缩指定的类型以节约服务器资源。

方法3:通过.htaccess实现,加入规则:

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
</ifmodule>

 

四:静态化页面减少对数据库的查询

wp super cache插件 它把整个网页直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 博客将显著的提速。

当然,如果你不静态化页面,也可以缓存数据库,DB cache插件比较不错。

小结:如果这四大方法你都用上了,那你的WordPress速度提升基本已经发挥的淋漓尽致了,最后我们要注意一下,经常在打开你博客的时候,观察状态栏的加载情况。见过一些站,因为使用了外部JS结果那个站点挂掉的时候导致自己的站点整个都打不开。还有就是经常清理和优化你的数据库,这一点是至关重要的,数据库在查询中产生碎片,WordPress在运行时也会残留一些垃圾,尤其是代码高亮插件和WordPress自动保存功能。

分类: 猫玩技术 标签: ,

如何去除wordpress模板里面的base64加密链接

2011年5月6日 4 条评论

博客大概的样子已经成型了,今天无意中查看自己做的seo是否可以调用到tag标签做关键词的时候,忽然发现底部footer上面竟然有几个链接, 而这几个链接在网站上却看不到!呵真的很不喜欢这种人!这种事情当然不能让自己吃亏,于是登陆后台,因为我之前从来没有接触过WordPress,这次写 博客是我第一次用这个程序,所以我首先想到的是footer.php文件,因为每个页面都会有,可是看了下footer没有发现任何链接,奇怪,再看首页 源代码,发现

<div><a href="http://www.511717.com/">511717</a>
<a href="http://watch-dragonball-online.net/">dragonball episodes</a>
<a href="http://digpokemon.com/">pokemon episodes</a></div></div>
<!-- Content end -->

“wp_list_content”这个,那么好办,就找wp_list_content相关内容吧,于是打开模板函数functions.php文件,果不出我所料,让我找到了它,

function wp_list_content() {echo base64_decode
('PGEgaHJlZj0iaHR0cDovL3d3dy41MTE3MTcuY29tLyI+NTExNzE3PC9hPg0KPGEgaHJlZj0
iaHR0cDovL3dhdGNoLWRyYWdvbmJhbGwtb25saW5lLm5ldC8iPmRyYWdvbmJhbGwgZXB
pc29kZXM8L2E+DQo8YSBocmVmPSJodHRwOi8vZGlncG9rZW1vbi5jb20vIj5wb2tlbW9uIG
VwaXNvZGVzPC9hPg==');}

这是一个BASE64方式进行加密的内容!这个时候干什么??还用解密吗?首页打开查看源文件,显示的内容就是解密后的内容!我当时很生气,直 接给这段代码给删除,然后更新函数,结果,首页却加载不出footer了,看来这么简单行不通,其实把所有模板里面的wp_list_content标签 统统删除就可以解决这个问题,但是这个太麻烦!我们可以直接替换这个加密函数,让它显示其他内容不就OK了吗?但是这个地方不是明文,需要输入 base64加密后的内容,于是我打开 http://tool.chinaz.com/Tools/Base64.aspx 在框内输入59dd.com (当然你可以自由设定你要在首页源代码可以看到的内容,我试过用汉字的话显示乱码,那么最简单的输入你的域名)然后点击加密,得到一组加密后的内容

NTlkZC5jb20=

替换掉它原本内容

PGEgaHJlZj0iaHR0cDovL3d3dy41MTE3
MTcuY29tLyI+NTExNzE3PC9hPg0KPGEgaHJlZ
j0iaHR0cDovL3dhdGNoLWRyYWdvbmJhbGwt
b25saW5lLm5ldC8iPmRyYWdvbmJhbGwgZXB
pc29kZXM8L2E+DQo8YSBocmVmPSJod
HRwOi8vZGlncG9rZW1vbi5jb20vIj5wb2tlbW9uIGVwaXNvZGVzPC9hPg==

那么再打开博客,查看源代码发现已经变成我要显示的内容

<div>59dd.com</div></div>
<!-- Content end -->

其实蛮简单的,之所以整理下写个文章是因为我真的看不惯这些所谓的“共享”,既然免费放出来就别玩阴的,你可以在底部加明链链接到你的网站,至少让 我们可以在首页看得到链接内容,我们也会酌情考虑保留,但是来隐藏的,一下还来4个,这就有些不道德了吧?写出来给新手一些帮助,如果大家用模板遇到有这 类情况的,可以轻松搞定!不用劳神费心的去研究琢磨,我想这也是一种共享精神!


分类: 猫玩技术 标签: ,

WordPress风格各异的图标

2011年4月17日 7 条评论
分类: 酷站 标签: ,

禁用或开启 WordPress 管理员工具栏

2011年3月26日 6 条评论

最新的  3.1 版本中添加了对管理员工具栏的支持,升级过的童鞋应该都能看到。

默认这坨东西会在前台开启。想要禁用也非常简单:今后控制面板,选择左侧的“用户”标签,然后点击某个用户,针对该用户设定“显示管理工具栏”项即可。勾选“在浏览站点时”则前台显示,勾选“在控制板中”则后台显示。

另外,有一款叫做 Admin Bar Minimiser 的插件,可以最小化管理员工具栏。

分类: 猫玩技术 标签:

加快 WordPress 载入速度的小技巧

2010年12月9日 13 条评论

Blog 放在国外的虚拟主机上,速度自然不能和在国内相提并论,这对访客的耐心是极大的考验,所以在国外主机上开博的同学有必要对自己的 Blog 进行一番自我优化,让浏览速度快一点,再快一点。

影响页面载入浏览器速度的因素很多,抛开主机本身的连接速度不谈,主要说一下调整 WordPress 终端显示方面的优化。

1. 模板。 可用的花哨酷炫模板很多,可惜一切的效果都是要付出代价的,需要载入的图片和JS文件多了,页面打开自然就慢了。一个 Blog 如果主要靠内容吸引访客,建议还是将模板更换成纯 CSS 或者图片调用较少的模板。使用这类模板,访客浏览页面时不会因为\请求过多图片耗费载入时间,页面打开的速度自然快一些。

2. 外部调用。很多 Web 2.0 网站都会提供针对 Blog 侧边栏的应用,这些加入侧边栏的小玩意固然能够在一定程度上起到丰富内容和增加功能的作用,但同时也拖慢了页面载入的速度。要知道,访客访问你的 Blog,同时还要被迫向大量外部网站请求内容,怎么会不慢呢?

3. 精简首页。除了上面说过的侧边栏,首页文章数目也是影响影响载入速度的原因之一。很简单的道理,内容越多,载入越慢。同时,还是应该在首页上提供全文显示,难道为了读完一篇文章,访客还需再载入一个页面?等他们有评论需求的时候再说吧。

4. 。这里不说少用插件,而是说增加插件的事儿。像 Ajax-Comments 一类的插件也许会增加一两个额外文件的调用,但是有访客评论的它可以避免多一次的页面刷新,免除了速度上的考虑。若是有兴趣做成全站 ajax 效果,那国外虚拟主机速度上的劣势真的可以忽略不计了。

5. 静态化。Wordpress 是动态化输出是人都知道。无论是否出于效率目的,还是应该静态化页面,至少这样会比每次访客访问页面再让 WordPress 从数据库调用内容快得多。相关插件比较多,推荐 Cosbetacos-html-cacheRichardoWP-Cache

以上5条的建议成分大于技巧,具体实施起来许多人都会有自己的一套。我自己认为在数据库和页面代码方面做优化意义不大,首先,Wordpress 发展了这么久,数据库结构已经相当成熟,能够优化且带来提升的方法有限;其次,页面代码方面能够做自行优化的人早就做了,Wordpress 的模板如此多,不可能有统一的优化方案。至于 WordPress 提升速度的终极方案,我觉得还是应该多考虑主机方面,毕竟快与不快的直接提现就是主机速度。这两天我也发现了一些主机选择的新趋势,一是国内的 Blog 专用主机,这类主机不求大而全,主打“专用”概念,若是觉得备案也不是那么麻烦,还是应该首选此类主机;二是新加坡主机,因为新加坡的互联网国际出口带宽仅次于美国,而且比邻中国,大部分时间从国内访问位于新加坡的主机甚至略快于许多位于国内的主机,同时没有备案和审查的烦恼,值得考虑。

分类: 猫玩技术 标签:

无觅相关文章插件,快速提升流量