标签 插件 下的所有文章

即取即用地修改WordPress插件、主题的字段翻译

WordPress的本地化最标准的手段是通过翻译文件进行翻译,之前写过一篇博客“WordPress很多插件不支持中文怎么办?”简单地介绍了实现方法。即使你不会写一行代码,也能通过Poedit这款软件对WP的主题和插件进行翻译。

不过有时候我们会需要对某个页面的某个字段,进行特别标注的翻译,不使用po文件里的翻译,这怎么实现呢?

其实很简单,通过gettext钩子,单独写一个函数返回特定的翻译内容即可:

1
2
3
4
5
6
//from: https://blog.brain1981.com
add_filter('gettext', 'brain1981_change_translation', 20, 3);
function brain1981_change_translation( $translated_text, $untranslated_text, $domain ){
	//... do something
	return $translated_text;
}

查看详细 »

WordPress很多插件不支持中文怎么办?

新手用WordPress喜欢装各种插件,装了这些插件又苦于他们没有中文界面…

这是一篇本人写于知乎问题的回答,自己博客再发布一下,文章略有修订。原答链接:https://www.zhihu.com/question/55772594/answer/2975663716

WordPress庞大的生态,使全世界任何国家地区的开发者都可以加入为他开发插件和主题,所以在这个生态里,绝大部分插件和主题都是第三方开发者开发的,这个第三方可以是技术实力雄厚的公司,也可以仅仅是一个个人开发者,甚至可能是个刚刚研究WordPress没几天的初学者。这些人中,母语汉语的中国人不是没有,但总体比例肯定是少之又少。

如果一个不说汉语的人开发了一款插件或主题,那它的界面自然是基于开发者的母语的,如果想要它提供中文界面,就需要另一位懂中文的人翻译这款插件。翻译插件/主题还有一个重要前提,就是被翻译的插件/主题需要基于标准的语言规则,把界面文本写入po文件,这样其他语种的人才能借助翻译软件,像填excel表那样填写对应字段的翻译。

这是用Poedit软件打开po文件,进行插件/主题翻译的截图:


查看详细 »

Yoast SEO插件恢复使用Meta Keywords的方法

Meta Keywords,其实就是SEO页面基本3要素“TDK”中的最后一个“K” – Keywords。在页面上大致表现为这样一行代码:

<meta name="keywords" content="关键词1, 关键词2, 关键词3" />

其实TDK已经是一个过时的概念了,因为这个Keywords关键词在各大搜索引擎的作用已经被清零。所以在几年前,老牌的WordPress SEO插件Yoast SEO就已经取消了对页面上Meta Keywords的支持,具体为什么,可以移步看一下这篇文章:https://yoast.com/meta-keywords/

并且,Yoast连相关的钩子都去掉了,见这里:https://github.com/Yoast/wordpress-seo/issues/8775

但是我们国内建站行业中,有很多半吊子的SEOer,仍然把TDK这个概念奉为圭臬;也有一些网站站长自作聪明,动不动就在页面上堆砌十几个关键词。而我们用最好的SEO插件Yoast SEO,因为早已经摒弃了这个设置,所以是无法给页面添加Meta Keywords的。那么在无法说服这些客户的情况下,如何给页面添加这些关键字呢?我还是琢磨出了一点办法。 查看详细 »

几款WordPress二维码生成插件深入比较

现在二维码的应用已经很普及了,在我们的每个网站上都可以看见,比如右下角的当前页二维码。一般我们用qrserver.com的在线生成器就能轻松在页面上实现任何文本的二维码,不过有时候qrserver.com服务器响应会变慢,甚至当掉,这样二维码就显示不出来了。而且使用qrserver.com这个资源的人越来越多,服务器压力的增加使得它的可靠性正在变低,是时候找一些替代方案了。于是我尝试了WordPress后台能搜到的几款人气看上去不错的二维码插件,做一下总结。
后台搜索关键词:QR Code

1. QR Code

QR Code
和关键词同名的插件,自然是牌第一了,激活量不错。使用
[qrcode url="http://abc.com" margin="10" size="100" before="QR Code" after="QR Code"]
这样的短代码在任何地方生成二维码。不过这款插件本身就是qrserver.com接口生成二维码的,因此没有任何可靠性的增加,果断放弃。 查看详细 »

解决WP-PageNavi插件产生的分页链接无法正确传递Query String的问题

这个问题似乎是最近才爆出来的,一位客户反映某个基于WPML实现的双语的网站上,英语版列表页面的分页不起作用了,点击第二页会跳转到网站首页。检查后发现问题锁定在自定义文章类型的分页上,并且只发生在英语版;网站默认语言中文版则无此问题。这个网站在英语版的URL上加了Query String-“lang=en”,而WP-PageNavi把分页链接变成了这样“http://xxx.com?lang=en/category/greece/page/2”

记得网站刚开发完的时候,当时版本的WPML和WP-PageNavi配合还不错,是没这个问题的,也不知道是其中哪个插件更新后造成了这个兼容问题,已无从追查,看来只能自己动手解决了。我的解决方法比较粗暴,主要是没本事也不愿从插件内部找问题,直接在前端修改这串Query String的位置即可,此JS代码放在调用了wp_pagenavi函数的页面底部,也可以偷懒直接放在footer.php:

1
2
3
4
5
6
7
8
9
$(function(){
	$(".wp-pagenavi a").each(function(){
		tempvelue = $(this).attr("href");
		if( tempvelue.indexOf("?lang=en")>0 ){
			tempvelue = tempvelue.replace("?lang=en","") + "?lang=en";
			$(this).attr("href",tempvelue);
		}
	});
});

这个问题也可能发生在其他带URL带Query String的页面上,修改以上代码都可以解决。所以感觉更可能是WP-PageNavi的问题,希望以后的更新能解决。

如果有哪位高人知道在PHP层的解决方法,还请赐教。

Query Monitor – WordPress项目开发必备插件推荐

如果你正在进行基于WordPress的网站开发,Query Monitor这款插件会对你起到很大的帮助。顾名思义,Query Monitor提供了一系列查询监控,可以在WordPress前台/后台任何一个页面给出当前页的数据库查询次数、耗费时间等详细数据,对优化项目提供一定的参数依据。

安装插件后,以管理员身份登录网站,页面顶部菜单会多出一组数据(如图)
Query Monitor - WordPress项目开发必备插件推荐 查看详细 »

WordPress文章分页号码样式加强

如果要给一篇长文章进行分页,我们只要在需要分页的地方加上<!–nextpage–>这样的标签即可。WordPress的文章页面只要有wp_link_pages这个函数,就会在调用函数的地方增加分页符,就像这样:
WordPress文章分页号码样式加强
图中我已对数字链接的样式做了美化,给数字加了灰色边框,但我没有办法对数字1做任何修饰,因为这个当前页码没有任何HTML标签包裹,无法对此修改样式。

这段代码可以解决这个问题: 查看详细 »

qTranslate停止更新后,多语言WordPress网站的升级策略

qTranslate是一款很不错的多语言插件,我曾经在很多项目中采用它,还写过博客整理了一些经验(点这里)。但可惜的是作者已停止更新这款插件,在WordPress主程序升级到3.9以及以后版本时,强行继续使用这款插件,会导致编辑器的可视化与文本之间无法正常切换,JS报错。如果你的WP网站离不开qTranslate,那就不能随便升级主程序了。

是时候更换插件了,我把我的十几个还在使用中的多语言WordPress网站项目分为两类,对于商业需求大,自定义文章类型多、自定义字段多的网站,我改用了WPML这款收费插件。其他的自定义文章类型、自定义字段少的网站,我把qTranslate替换成qTranslate-x – 一款后继者在继续开发和维护的qTranslate插件。 查看详细 »

WordPress文章分类、自定义分类、标签排序插件推荐

WordPress发展到当今的4.x版,居然还没有提供文章分类、标签等自定义排序的功能。也许开发WP的大佬们并不觉得这些排序是什么重要功能,亦或者这个功能的开发实在太过简单,被当作留给插件开发者们的小菜而一直没有加入WP的主程序中?言归正传,我已经在很多项目中接到自定义文章分类排序的需求了,这里介绍一下我使用的插件 – Custom Taxonomy Order NE
WordPress文章分类、自定义分类、标签排序插件推荐-Custom Taxonomy Order NE
查看详细 »

推荐一款Chrome记事本插件“在线记事本(Online Notepad)”

最近发现我一直在用的一款Chrome的记事本插件“Chrome Notepad”的同步功能失效了。去谷歌官网看了下N多人也在抱怨,看来不是我个人问题,而且很多老外也反映同样的问题,应该也能排除谷歌被大陆屏蔽的原因。Chrome Notepad是一款小巧实用的插件,只是用久了,我的记事本篇幅变得很长,要找以前的记录只好上下拉动滚动条,用肉眼在文字堆里搜寻,非常不方便,是时候做一些改变了。

我需要一款能同样实现在线同步,并且能自定义多个标签页的记事本插件,为了不拖慢浏览器速度,其他多余功能则越少越好,而且最重要的是要免费。 查看详细 »