迁移: Wordpress 2 Textpattern
解决Safari的Wordress兼容性问题
前几天还在头疼Mac下面没有个完美的浏览器,其实个人一直很倾向用safari,毕竟是Mac自家的东西,一直不死心用Camino代替…今天终于被我找到了解决方案,哇哈哈哈
其实说也很简单,就是欺骗一下网站,把safari识别成firefox就ok了,步骤如下:
1.安装SIMBL,方法很简单,不多说了
2.安装SafariStand
把SafariStand.bundle文件复制到SIMBL的插件目录,默认是/Library/Application Support/SIMBL/Plugins
3.重启Safari,看到上面的Stand菜单了么,就在Help边上,打开SafariStand Setting,在最右边最下面有一个 Including Debug Menu,选中,再次重启Safari
4.这回在Stand菜单边上又多出来一个Debug菜单,单击Debug,找到User Agent,看到了吧,选Firefox 2.0.0.2
ok,回去wordpress的post编辑看看,一切正常
PS:又试了试百合,也一切ok了,hoho
BloggingPro China (wordpresscn) 无偿转让
突然看到海豚要转让 wordpresscn,大吃一惊
由于个人精力有限作出转让本站决定,有意者可以与我联系:kdolphin[at]gmail.com
- 转让包括wordpresscn.com域名和现有站点数据。
- 希望接受者仍然把本域名作为一个wordpress的信息站来建设。
- 希望接受者对wordpress有比较深的了解。
- 转让费用是100元人民币,仅仅是弥补域名注册费用。
- 转让域名产生的费用由接收者负担。
- 接收者空间请自行解决。
- 接收者如使用国内服务器,请注意备案。
转让后我会把更多的时间放在kdolphin.com和18pc.org这两个Blog上,有兴趣的可以去捧捧场。
突然易主难免让人觉得有些可惜,不过如果能有有心人接下来的话应该也很有发展的,可惜个人精力实在有限。。。要不。。。
总算把以前的post弄回来了
一直不甘心以前的post就这么没了,今天闲来无事就继续想办法看看能不能把原来的post找回来
尝试从之前的blog里导出,然后在这边导入,发现很多post依然还是无法导入,于是怀疑是插件的问题,禁用所有插件问题还是依然如故。
记得以前在网上看到一个blogsync的工具,试试看,过了很久,提示2个失败254个成功,顿时欣喜若狂,但是在打开blog之后又是失望,还是只有70篇正常导入
这回试试迂回战术,先找个其他的blog程序看看能不能导入,于是瞄上了textpattern
安装分分钟搞定,然后导入……靠,怎么中文都变成问好了,没办法,顺道把这个也解决了把
这种问题多半是数据库编码引起的,于是翻textpattern的源码,导入wordpress的在
textpattern/include/import/import_wp.php
里面,在
$results[]= ‘connected to wp database. Importing Data’;
后面加一句
mysql_query(“SET NAMES ‘utf8’”);
ok,中文没问题了,浏览了一下一切正常,然后回到新站,wordpress后台导入textpattern,一步,两步,三步。。。mysql query error
靠……没辙了,换用textpattern的心都有了
还是不甘心,嗯。。。难道是wp自己的问题?死马当活马医吧,于是下个2.3的回来(我现在用的svn trunk,2.4),安装,导入,居然成功了,诶,又当了一次小白…… svn害死人啊
哈哈哈哈哈哈,不管怎么说,以前的post总算是都回来了,至于转到drupal后发的几篇。。。数量也不多,丢了就丢了吧,反正99%都找回来了
然后嘛,轻车熟路配置一番,大体上ok了
看看表,4:57……
wordpress 2.3 tag 扩展 -- Simple Tags
谁说wp的dashboard没用的,今天就无意中在dashboard中发现一个好东东 — simple tags
主要功能:
tag自动补全,推荐tag,tag编辑
当然最有用的是:embedded tag和批量tag编辑
大概看了一下,发现还真是一个不可多得的tag插件
TagConverter Mod
终于顺利升级到wordpress2.3,最大的变化是新版的wordpress内建了tag系统,这样一来原本的utw就没有什么存在的必要了。但是如何平滑过度到新版的tag系统倒是个头疼的问题,尽管wordpress自身提供了导入utw tag的功能,再配合TagConverter插件,也实现了related post和embedded tag的功能,但是仍旧有一个小小的不足,就是原本使用embedded嵌入的tag已经没有了。
怎么看都不爽,于是决定解决这个问题。不过对于我这种实在是懒得可以的人。。。hack一下TagConverters似乎比重写一个插件要方便很多,于是就有了这个mod版本:后台TagConverter的配置页面中增加了import embedded tag的功能,用来将所有帖子里的embedded tag全部恢复出来。遇到和我一样问题的同学试试这个版本吧 :)
顺利升到Wordpress 2.3
确切的讲应该是svn上的trunk版本,呵呵
基本还算一切顺利,除了传说中的extended live archive和google sitemap generator的冲突以外。
1. 过程:
1) 当然是备份数据库咯,这个八仙过海吧,不过有shell的话肯定是方便多了:
mysqldump -h db_domain -u db_user -p db_name > back.sql
2) 上传新版本,然后和安装一样编辑wp-config-sample.php(或者2.2的可以用原来版本的wp-config.php)保存为wp-config.php
3) 浏览器访问 http://www.xxx.com/wp-admin/upgrade.php
按步骤一路下去就ok了
2. 接着就是一些整合工作:
1) 2.3的数据库schema和2.2的变化很大,一些旧的数据表已经不再使用,但是目前的upgrade过程中并没有删掉这些表,所以。。。如果你和我一样是个完美主义者,并且不怕什么风险的话,只要保留一下10个表(当然一些插件建的表除外,这个自己判断把)
- wp_termswp_term_taxonomy
- wp_term_relationships
- wp_comments
- wp_links wp_options
- wp_postmeta
- wp_posts
- wp_users
- wp_usermeta
2) ok,接着是UTW,2.3的wordpress内建了tag系统,如果你以前使用UTW的话那么可以通过Wordpress提供的Import功能将UTW的tag全部转换过来:
管理后台->Manage->Import->UTW
如果你还比较依赖UTW的embedded tag功能和related post功能的话(比如我),可以用这个插件作为替代:
TagConverter
3) UTW搞定了,然后嘛。。。还是有点想用Extended Live Archive和Google Sitemap Generator的说,懒得自己改的话,这里有改好的版本
Extended Live Archive
GoogleSitemap Generator
ok,大功告成
PS:嗯,终于发现我是一个喜欢折腾blog胜过于写blog的人 _!
UPDATE: 有个小问题,原本用embedded方式嵌入的tag似乎都无效了。。。
Quoter插件的Bug
换了Sandbox并调整了一下主题,发现ajax comments无效了,一直以为是模板的关系,仔细跟了一下才发现居然是Quoter搞的鬼。
因该算是Quoter的一个Bug吧,所有带js参数的url全部返回Quoter的JS,于是。。。ajax comments的js便失效了,comment的提交代码自然也就不存在了。
解决:其实可以仿照ajax comments的做法(这点ajax comments的作者要比quoter的作者考虑的周到),就是在返回js之前,判断url是不是quoter的,如果是的话再返回,diff文件如下:
—- quoter.php.ori 2007-08-30 01:38:24.000000000 -0700
+++ quoter.php 2007-08-30 01:42:41.000000000 -0700
-26,8 +26,12
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+define(‘PLUGIN_QUOTER_FILE’, ‘quoter.php’);
+define(‘PLUGIN_QUOTER_PATH’, ‘/wp-content/plugins/quoter/’);
+
// Javascript code
-if (isset($_GET[‘js’])) {
+if(strstr($_SERVER[‘PHP_SELF’], PLUGIN_QUOTER_PATH.PLUGIN_QUOTER_FILE)
+ && isset($_GET[‘js’])) {
quoter_JScode();
}
-148,7 +152,8
// If it’s a server side quote page don’t let robots index it – if (isset($_GET[‘quote’]) && $_GET[‘quote’] != “”){
+ if(strstr($_SERVER[‘PHP_SELF’], PLUGIN_QUOTER_PATH.PLUGIN_QUOTER_FILE)
+ && isset($_GET[‘quote’]) && $_GET[‘quote’] != “”){
echo (“n”);
Wordpress 2.2.2
Today we have two security-related releases available for both users of our main 2.2 branch and the legacy 2.0 branch. As these releases include only security and minor bugfixes they should not cause any plugin or theme compatibility issues, so you have no good excuse not to upgrade.
只是两个安全漏洞和一些小的bug,不会引起插件和主题的兼容性问题,所以——推荐升级
Feedsky Ping Plugin for wordpress - Mod
今天终于决定将我的RSS托管从Feedburner迁移到Feedsky,然后开始想办法搞定feed转向的问题
开始是用FeedSmith修改来用的,只要在FeedSmith的选项里填入feedsky的地址,然后对FeedSmith稍加修改:
找到这一段:
if (!preg_match(”/feedburner|feedvalidator/i”, $_SERVER[‘HTTP_USER_AGENT’])) {
add_action(‘template_redirect’, ‘ol_feed_redirect’);
add_action(‘init’,‘ol_check_url’);
}
改成
if (!preg_match(”/feedsky|feedburner|feedvalidator/i”, $_SERVER[‘HTTP_USER_AGENT’])) {
add_action(‘template_redirect’, ‘ol_feed_redirect’);
add_action(‘init’,‘ol_check_url’);
}
后来偶然发现Feedsky有一个已经做好的wordpress插件,而且提供ping的功能,但是这个plugin有一个限制,只能输入feedsky的feed名称,也就是说,所有feed会被转向到feed.feedsky.com/feedname的地址,其实对于不做域名绑定的用户已经完美了,不过对于绑定了域名的用户这种转向就没什么意义了,于是动手稍稍改动了一下。
稍微说明一下:在后台设置feed名的后面会比原来的版本多出加了一个文本输入框,用来填feed地址,如果这个feed地址置空的话则会默认使用feed.feedsky.com/feedname,因为我实在是比较懒,所以也没有加什么说明文字,同时也没有做feed地址的校验,所以。。。各位将就一下吧,能用就成,哈哈
修正 Wordpress 2.2 Widget 的 bug
尽管Wordpress 2.2的Widget和Automattic的Sidebar Widget插件兼容,但是却存在一个不大不小的bug:
在调用register_sidebar注册超过一个Sidebar的时候,如果同时指定了Sidebar的名称,那么最终只能注册成功一个
Sidebar,例如按照Automattic的API应该可以使用register_sidebar (2, array (‘name’ => ‘aaa %d’))注册依次为aaa 1,aaa 2的sidebar,而在wordpress中的结果则是只有一个名为aaa的sidebar,看看代码(WORDPRESS DIR/wp-include/widgets.php)
function register_sidebars($number = 1, $args = array()) {
$number = (int) $number;
if ( is_string($args) )
parse_str($args, $args);
$i = 1;
while ( $i < = $number ) {
$_args = $args;
if ( $number > 1 ) {
$_args[‘name’] = isset($args[‘name’]) ? $args[‘name’] : sprintf(__(‘Sidebar %d’), $i);
} else {
$_args[‘name’] = isset($args[‘name’]) ? $args[‘name’] : __(‘Sidebar’);
}
$_args[‘id’] = isset($args[‘id’]) ? $args[‘id’] : “sidebar-$i”;
register_sidebar($_args);
++$i;
}
}
嗯。。。相信已经有同学看出来了,在注册多于一个sidebar时,sidebar的名字是
就是说如果指定了名字则已指定的名字为准,没有指定名称时才会按数字递增,那么修改就很容易了(其实照抄Automattic Sidebar Widget的就可以了,嘿嘿)
function register_sidebars($number = 1, $args = array()) {
$number = (int) $number;
if ( is_string($args) )
parse_str($args, $args);
$name = $args[‘name’] ? $args[‘name’] : __(‘Sidebar’);
$i = 1;
while ( $i < = $number ) {
if ( isset($args[‘name’]) && $number > 1 ) {
if ( !strstr($name, ‘%d’) )
$name = “$name %d”;
$args[‘name’] = sprintf($name, $i);
}
register_sidebar($args);
++$i;
}
}
ok,收工
绝酷的Wordpress主题
绝对是一个酷到不能再酷,个性到不能再个性的主题,实在忍不住一定要推荐给大家,如果你经历过dos,如果你喜欢linux,那么你肯定也一定会爱上它的,不过。。。实用性有点。。。现在绝大部分人都不会用命令行了吧。。。
看看demo http://blog.elinc.ca/rodcli/
可以先输入help看看有什么命令哦,呵呵
Wordpress 2.1
昨晚刚从 SVN 上更新到 2.1 RC2,今早就 2.1 正式版了,已经是一个稳定的版本了,大家可以试试
懒得翻了:
Features:
- Autosave makes sure you never lose a post again.
- Our new tabbed editor allows you to switch between WYSIWYG and code editing instantly while writing a post.
- The lossless XML import and export makes it easy for you to move your content between WordPress blogs.
- Our completely redone visual editor also now includes spell checking.
- New search engine privacy option allows you take you to indicate your blog shouldn’t ping or be indexed by search engines like Google.
- You can set any “page” to be the front page of your site, and put the latest posts somewhere else, making it much easier to use WordPress as a content management system.
- Much more efficient database code, faster than previous versions. Domas Mituzas from MySQL went over all our queries with a fine-toothed comb.
- Links in your blogroll now support sub-categories and you can add categories on the fly.
- Redesigned login screen from the Shuttle project.
- More AJAX to make custom fields, moderation, deletions, and more all faster. My favorite is the comments page, which new lets you approve or unapprove things instantly.
- Pages can now be drafts, or private.
- Our admin has been refreshed to load faster and be more visually consistent.
- The dashboard now instantly and brings RSS feeds asynchronously in the background.
- Comment feeds now include all the comments, not just the last 10.
- Better internationalization and support for right-to-left languages.
- The upload manager lets you easily manage all your uploads pictures, video, and audio.
- A new version of the Akismet plugin is bundled.
Oreo 0.3
没什么大更新,不想发0.3的,不过有bug修正,不发出来太不负责任了不是
1. 修正了 search 的问题,某些文件错误的包含了searchform.php,删了就行
2. 作者留言高亮,根据留言email判断,是作者的留言会和其他人有一点点不同
顺便将下那几个page,Blogroll的template其实就是links,单独列出来了而已,Archive的template是日志列表,需要Extended Live Archives插件支持,激活然后新建一个page,以Archive为模板就行了
OK,就这么多吧,如果那天有更新了再放出来,不过我很懒的,呵呵 :)
差点忘了地址:
发个非官方的Oreo主题 :)
最近很流行底栏的模板,前些天好朋友Running Sandwitch模仿石锅拌饭也把blog改成底栏,感觉很不错,恰巧石锅拌饭也把他的Oreo主题共享出来,于是就对Oreo下手了,嘿嘿
改动不多,姑且叫做非官方的oreo 0.2吧,呵呵
Feature:
1. 支持Widget,这个是我改动的最大动机,Widget +Samsarin PHP Widget,更换主题几乎不用对新模板做任何修改
2. 模仿石锅拌饭加入了每页第一篇日志下显示广告
3. 修改部分CSS,对Header布局做了些调整,适应blog description较长的用户(比如说我,呵呵)
4. 为日志加入了Trackback地址
5. 修改日志rss图标地址,无须复制rss图标到images下
下载:oreo_0_2.tar.gz
0.3发布了,这里oreo 0.3
原版在这里:oreo.0.1.tar.gz
终于搞定wordpress与msn space的同步了
终于搞定了,用了DJ Email Publish, 不过郁闷的是只能在wordpress的后台发布,否则无法更新到msn space……
恢复我的msn space, 当然,只做索引之用,呵呵
Wordpress 升级至2.1Alpha2
SVN上的版本,升级很简单,备份数据库以防万一,然后禁用插件,覆盖文件,执行wp-admin/upgrade.php脚本,ok,重新激活插件即可
新版本看不出来太大的变化,可能是平时后台用的太少没什么感觉吧,不过倒是多出了一个export的功能,可以将所有的文章和评论导出到一个xml文件中,这回备份会更简单了,呵呵
跟风-本站所使用的插件
Update 2007.9.12: 折腾来折腾去的,也懒得更新这个了,索性找个插件建了个Page,绝对时时更新,所以……看这里吧
BloggingPro China 号召大家列出blog所使用的插件,这几天终于把blog调的差不多了,也总结一篇,呵呵
aLinks 用于将文章中的关键词替换为url链接以及在链接后加小图标美化,新版功能增强了很多,很多都不太会用,呵呵,demo见本帖的链接
Audio player 音频播放器插件,flash界面很简洁漂亮,不过中文音乐名显示会有问题,demo一下 [audio:http://www.waynezhang.com/audio/献世.mp3]
Brian’s Latest Comments 显示最新留言,demo见本站sidebar
Edit n Place 不用进入后台直接修改文章内容,使用ajax技术,并且对UltimateTagWarrior插件有良好的支持,强烈推荐
首字下沉插件 文章首字放大,demo见本站文章
flickrRSS 用于读取flickr的rss以显示最新照片,有后台控制,demo见本站最下方
FancyTooltips 美化链接的description,在link中加入title属性,后台激活即可,demo见本站链接
中文 Wordpress 工具箱 提供最新留言,最新文章,留言最多文章等,同时可以解决中文文章摘要显示的问题,本站用以后者
Feedburner Feed Replacement Feedburner不少人都烧过的吧,这个插件用来将本站的rss feed自动替换为feedburner的rss feed
Spam Karma 2 用于阻止垃圾留言,效果还是很不错滴,推荐
Google Sitemaps 用于给google生成站点地图
Ultimate Tag Warrior 为wordpress加入tag支持,demo见文章后的tag链接,荐
WP-Cron 定时执行一些任务,用来支持数据库定期备份,必备
WordPress Database Backup 用于备份wordpress数据库,必备
Admin Drop Down Menu 减少后台的pageview,必备
Tiger Style Administration 将后台界面改成Tiger系统的风格,纯粹为了好看 审美疲劳,停用
UPDATE 06 / 06 / 27: DJ-Email-Publish 用于和msn spaces同步
新主题 & 下载
居然有无数人说原来那个主题太丑……不识货,起码也是ajax的嘛
不过对于我这种喜欢在sidebar上乱加东西的人,两栏主题的sidebar的确太过臃肿了,所以还是换了吧
找了很久,发现一个非常漂亮的主题 Graphic Dreams ,感谢 Calliope 的辛勤劳作。不过可惜的是两栏的,于是费了番功夫又学了学css,改成三栏的以为己用。
好东西不敢独占,放出来供各位 blogger 共享。
主题: Graphic Dream – Reloaded
作者: Wayne Zhang
基于 Graphic Dream, 将两栏布局改为三栏布局,保留原有主题对 Gravator 插件的支持,增加对 Recent Love 插件和 Now Reading 插件的支持
注意:本主题采用 Creative Commons Public Licence BY-NC-CA 2.0 发布