在Wordpress Blog上看到这句“The software is basically done and stable, and could be released today, but…”的时候,我决心等到WP2.5正式版放出再升级的坚定想法彻底消失,已经顾不上后面的but…, 鼠标直奔下载链接而去。
升级之前分别用”WordPress Database Backup“插件和自带的”Export“功能做了两个备份,2.5的改动似乎较大,保险起见没有覆盖上传,而是把2.3的文件直接挪到了一个临时文件夹中(为升级失败做准备,没有直接删除)。上传完毕后,页面正常打开,升级出乎意料地顺利,主题和插件也没有找麻烦。除后台界面面目基本全非外(居然没有找到Admin Color Scheme功能),还新增了”Add media“以及Simple Tag中已有的Tag Slug功能,好坏只能见仁见智。
早上偶然寻到一个很有才的wp theme作者,然后整个晚上就沉在眼花的代码中。成果颇丰,搞定random header image的同时还顺带找到如何用php表达css表单:
[ ?php echo(rand(1,5)); ?]
上面的代码很简单(google结果的第一条就是这个方法),随机在1~5之间生成一个数字。实现random header image效果只需要将图片放在同一路径下,命名采用数字区分,随机出哪个数字就显示对应的图片。不过遇到显示图片的代码写在css表单中的情况,除了将上段代码放进能够编译php的文件中执行来解决,只能想办法用.php文件格式来表达css表单,否则.css文件无法编译php代码。本来前一种方法很容易就搞定,但是之前用过的MK主题就是采用style.php的方式实现自定义主题颜色和宽度,这次又开始钻牛角尖。有示例做参考,几番折腾终于搞定:
在functions.php中加如下一段,
[ ?php function mytheme_wp_head() { ?]
[link href=”[?php bloginfo(‘template_directory’); ?]/style.php” rel=”stylesheet” type=”text/css” /] [ ?php } add_action(‘wp_head’, ‘mytheme_wp_head’); ?][/link]
再将style.css改名为style.php,并在文件顶部加这么一条:
[ ?php require_once(dirname(__FILE__).’../../../../wp-config.php’);
require_once(dirname(__FILE__).’/functions.php’);
header(“Content-type: text/css”); ?]
[和]分别替换为< 和>… 大功告成。
上次花费N个晚上修改前一个主题时,真没想到今天更换时会放弃得这么义无反顾。
update: 放弃了随机head image功能,因为发现会导致Visual Editor无法使用。具体原因不明,使用另一个同样以php格式定义css样式的主题却不会出现此问题。 更新了绿色部分,搞定…