2013-04-24
为suffusion 创建子主题,增加中文翻译和添加自定义CSS

suffusion 主题自定义功能其实已经相当丰富,但是由于使用习惯以及其频繁更新的原因,不得不令寻简单稳定的解决方法。其实这个折腾的理由仅仅是为了调整多说评论的一个样式,为多说评论添加边距空隔,默认太挤了。顺便也利用suffusion的子主题使用中文的翻译文件。 首先创建子主题 在/wp-content/themes下新建目录,目录名称随意,我的是suffusion-child,然后在新建的目录下创建style.css文件。文件内容如下:

/
Theme Name: Suffusion-Child
Theme URI: http://www.laifuying.com
Description: Child Theme based on Suffusion
Version: 1.0.0
Author: Your Name
Author URI: http://www.laifuying.com
Template: suffusion
/

@import url(“../suffusion/style.css”);

其中上面的Theme Name为必填,Template 为必填,其他内容选填。并且Template 的值必须与suffusion主题目录名称一致,大小写敏感! 这样一个子主题就建立了,在后台找到这个子主题Suffusion-Child 启用即可。 说说我给在suffusion-child中定义了多说评论的边框方法: 子主题Suffusion-Child 目录style.css 内容:

/
Theme Name: Suffusion-Child
Theme URI: http://www.laifuying.com
Description: Child Theme based on Suffusion
Version: 1.0.0
Author: Your Name
Author URI: http://www.laifuying.com
Template: suffusion
/

@import url(“../suffusion/style.css”);
@import url(“../suffusion/skins/scribbles/skin.css”);

.ds-thread {
margin-left: 4px!important;
padding-right:10px!important;
}

上面导入了两个css样式,第一个不用说了,第二个是我选用的suffusion的一个skin皮肤的样式文件。 然后给多说评论框添加了间距,基本也是很简单的。 说到添加中文翻译,其实官网的介绍很详细了。 之前也在文章《wordpress优秀主题最新版suffusion 4.3.3的中文汉化小记》记录了汉化的方法,将其应用至子主题更为方便,毕竟不会因为suffusion主题的升级而丢失以往所作的修改了。 首先进入官方的翻译池找到中文语言文件,两个。这个是链接! 分别导出suffusion-zh-cn.po和suffusion-zh-cn.mo,在上面链接页面的左下角有Export。并分别重命名为zh_CN.po和zh_CN.mo,然后放到子主题Suffusion-Child目录下就可以了。当然,你的Wordpress 已经是中文版时就正常显示了,如果是英文的,在wordpress 根目录的wp-config.php中加入

define(‘WPLANG’, ‘zh_CN’);

以上就完成了。

Read More

2012-12-05
WordPress 调用所有页面/调用菜单用到的函数

在主题中调用页面 WordPress 页面调用的话属于page.php,要显示的话需要在需要的地方如header.php里加入代码:

如果要实现你那个特定位置显示的话还需要修改CSS,这个比较麻烦,要根据主题来修改。 在主题中调用菜单 在主题的适合位置使用方法 wp_nav_menu();, 向页面输出菜单. 方法中提供参数 theme_location, 用于指定对应的自定义菜单. 如要调用第一个菜单, 则代码如下:

wp_nav_menu(array(
‘theme_location’ =>’primary’
));

wp_nav_menu 方法还提供其他很多参数。

Read More

2012-11-09
小记配置OpenShift 网站数据和Mysql 数据库到Dropbox的自动备份

由于在OpenShift 创建的 Application 有几个,对于自己来说,每个每天准时备份一次全部数据,确实有点吃力。如果一次都可以自动化,那就实在太好了。真的,后来看了看freehao123 博主的《OpenShift免费空间全自动定时备份网站数据和MysqL数据到Dropbox》(原文链接:http://www.freehao123.com/openshift-dropbox/),决定着手试试。下面记录下我在配置过程中遇到的一点小问题和自己的解决方法。 前面配置Dropbox 基本是很顺利的,没有什么大问题,freehao123 博主的教程很详细,按部就班很容易就成功了。主要是配置使用Dropbox uploader执行OpenShift空间自动备份bak_openshift_to_dropbox.sh的配置有点小出入,可能是因为OpenShift 最近做了小调整的原因吧。附上脚本下载地址,再次感谢 freehao123 博主。

1、下载:http://www.zhujis.com/myvps/bak\_openshift\_to\_dropbox.sh 2、备用:http://uploads.shuyz.com/2012/08/bak\_openshift\_to\_dropbox.tar.gz

懒得打字了,继续借用freehao123 博主原话:

7、你可以用上面两种方法将该备份脚本上传到OpenShift空间上,不过你还需要打开bak_openshift_to_dropbox.sh。 8、主要是要设置你的应用名称、数据库地址、端口、用户名、密码等,请注意下面的划红线的地方。 9、完成上面的设置后保存,执行以下命令,给脚本加上可执行权限和执行首次自动备份。

chmod +x bak_openshift_to_dropbox.sh
./bak_openshift_to_dropbox.sh

10、如果你能看到下图所示就表示你的配置正确,备份没有问题了。 11、回到你的Dropbox就可以看到刚刚备份过来的打包文件了,里面有数据文件和数据库文件。你现在可以直接下载到本地作再次备份了。

好!问题来了。首先是bak_openshift_to_dropbox.sh 里面的appname,OpenShift 可能是近几天才改的吧,我们的~/目录下不再是我们创建应用的名字了,OpenShift 已经用”app-root”取而代之了,也就是appname这里必须更改为”app-root”而不是你应用的名字,当然你也可以直接更改${appname}的为”app-root”,不过肯定不够上面的方面吧。简而言之,设置appname=app-root就对了。 完全正确设置了自己的参数后,执行:

./bak_openshift_to_dropbox.sh

出现错误:

bash: ./bak_openshift_to_dropbox.sh: /bin/sh^M: bad interpreter: 没有那个文件或目录

这错误是因为不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 解决方法: 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File–>Conversions–>DOS->UNIX即可。 如果是 Notepad++ 则是在: 编辑 -> EOL Conversion -> 转换为 UNIX 格式 中。 2)也可在Linux中转换: 首先要确保文件有可执行权限

chmod a+x bak_openshift_to_dropbox.sh

然后修改文件格式

vi bak_openshift_to_dropbox.sh

利用如下命令查看文件格式

:set ff 或 :set fileformat

可以看到如下信息

fileformat=dos 或 fileformat=unix

利用如下命令修改文件格式

:set ff=unix 或 :set fileformat=unix

:wq (存盘退出)

最后再执行文件

./bak_openshift_to_dropbox.sh

此时,终于看到进度条了,回到Dropbox,文件已经成功备份。 差不多就是这些小问题了,还有一点,~/app-root/ 目录下不具有写入权限,各位留意下bak_openshift_to_dropbox.sh 里面有关文件夹的创建,我是全部更改到新建的dropbox下的,也就是~/app-root/repo/dropbox/ 下面。文件夹需要手动创建,只需创建tmp和logs两个目录即可:

cd ~/app-root/repo/dropbox/
mkdir tmp logs

上面是我自己的目录路径,你也可以直接下载我的bak_openshift_to_dropbox.sh

Read More

2012-11-04
wordpress优秀主题最新版suffusion 4.3.3的中文汉化小记

suffusion原文地址http://aquoid.com/news/themes/suffusion/translating-suffusion/ wordpress官方地址http://codex.wordpress.org/Child\_Themes 1,在suffusion下载一个中文语言包,里面有两个文件,zh_CN.po和zh_CN.mo,zh_CN.po是可修改的语言包文件,zh_CN.mo在修改语言包的同时会被修改,而这个文件才是正儿八经被wordpress调用的语言资源,所以更新.po文件的同时,一定要保证.mo文件也是更新过的。完成这个任务很轻松,在Poedit下载poedit安装。 当然这样还是不够的,因为在suffusion主题更新以后语言包的结构会发生变化的,所以还需要在WinMerge下载winmerge文件安装,安装的时候请选择语言文件,这样打开以后就是中文界面了。winmerge的最大优势就是可以同时在左右两边对照现实新老语言文件的不同之处。老文件就是你下载的这个中文语言包,新文件呢就是在suffusion更新以后的语言包,位置suffusion/tranlation/suffusion.po。 在对照显示不同之处的同时,我的建议是将语言对应之处的原文件行数也修改为最新文档的内容,方便以后继续升级。这个语言的操作就相对比较简单了。 需要强调的是,在用winmerge修改好zh_CN.po文件以后,一定要用poedit打开该文件,再保存下,这样就可以将zh_CN.po的更新全部同步到了zh_CN.mo里面了。 2,在你wordpress站点的wp-content/theme下面新建suffusion-child文件夹,并在suffusion-child下面再新建translation文件夹,然后将更新后的zh_CN.po和zh_CN.mo上传到translation这个文件夹里面。 3,用dreamweaver或者其他编辑器新建一个style.css,保存在suffusion-child文件夹下面,style.css的详细内容如下

/
Theme Name: Suffusion Child
Description: Child theme for the Suffusion theme
Author: BirD
Template: suffusion
/

@import url(“../suffusion/style.css”);

Theme Name是必需的,这个比较任意,可以自由选择;Description可选,Author也可选;Template是必须的,更关键的是这个必须和作为父主题的suffusion的文件夹名称完全一致,切严格区分大小写; @import url(“../suffusion/style.css”);这里是将suffusion主题的style风格导入进suffusion-child这个子主题里面,这样做的最大好处就是在suffusion主题自动更新以后你还是一样可以保留你的中文语言包,最多将suffusion新版增加的语言再补充下就可以了。 4,通过以上步骤就新建了一个子主题suffusion-child和对应的语言包了,这时你只要登录你的wordpress后台,进去主题,启用你自己的这个suffusion-child主题就可以了。刷新下你的前台主页看看,是不是所有英文的部分都改变成中文了啊?! 需要强调的是,以上能成功使用zh_CN有个前提,你使用的是中文版的wordpress,如果你使用的是英文版的wordpress的话,那你得多操作一步,打开你的wp-config.php(这个文件在wp的文件包是没有的,必须在安装成功以后的网站根目录下面才有的),修改里面的 define (‘WPLANG’, ‘ ‘); 为 define (‘WPLANG’, ‘zh_CN’); 然后保存,就可以了! 以上步骤实现了suffusion主题中所有基本上所有前台英文的汉化,但是后面一样还是英文的,所以要想使用好suffusion主题,英文阅读和理解是没有办法的事情咯。当然为了做好wordpress站点,英文都是必不可少的,毕竟很多的主题和插件都是英文的。

Read More