当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > 用 WordPress 做 CMS 的一些笔记

建站经验
冲破罗网:揭秘新站不进入沙盒方法
运营7天的网站每天150IP-记衣尚诚品
从艺术到网站:一个80女站长的经历
百度联盟优化课堂:文学站优化技巧及案例分析
透视站长下载网谈网站运营
老站长谈坚持原创的重要性
Google Analytics 谷歌统计基础知识问答
新手做站半年来真实的经验和感悟
新站如何提高百度权重
关于股票网站如何定位的一些思考
如何使用 Google Analytics 监测百度竞价排名效果
站长必备:从用户访问统计分析挖掘网站的潜在缺陷。
康盛UCenter系统密码算法规则和生成方法
建立谷歌分析与网站优化工具跨域跟踪
Google对博客的PR评价指标
地方性网络推广的七种必备手段
老站长谈网站断网临时处理机制
如何做好地方性教育网站
PR到9后的反思
利用谷歌分析跟踪移动设备访问 分析群体价值

建站经验 中的 用 WordPress 做 CMS 的一些笔记


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 57 ::
收藏到网摘: n/a

这些日子搞了搞 WordPress,确实是一款很好的 blog 系统。安装配置简单,编辑界面优秀,有插件系统。使用方便,速度也还可以,挺适合做 CMS。下面记录的是我在安装配置过程中遇到的一些经验教训。

Windows Live Writer

既然要做 CMS,我认为最拉风的,恐怕要算是 Windows Live Writer 的支持了。有了桌面编辑器的支持真可谓如虎添翼,插图等等操作真是信手拈来,这是任何基于 HTML 的编辑器无法比拟的。

只是在使用过程中,我发现 WLW 上传的图片没有正确地和文章关联起来。尽管 Role Scoper 的 Attachment Utility 可以帮助我们重新建立起文章和图片的关联,但是建起来的关联非常不美观,重新生成了很多附件项目,而原来的未连接的附件项目依然存在。那就有可能在清理附件的时候发生不小心把有连接的附件清除的事故,再说一个附件两个项目看起来也非常不美观。有没有办法让 WLW 上传的附件自动关联上呢?

我在网上搜了一下,找到了答案。

Issue with Live Writer and Attaching Images on 2.8

那里解释说,问题在于 WordPress 2.8 做了一个数据库模式上的变动, signed 变成了 unsigned,所以原来在 xmlrpc.php 里的 -1 都不奏效了,真正在数据库里形成的数据是 0。这个问题会在 2.9 里修正。目前的解决办法是:在 xmlrpc.php 里找到如下行,

$attachments = $wpdb->get_results( "SELECT ID, guid FROM {$wpdb->posts} WHERE post_parent = '-1' AND post_type = 'attachment'" );

把其中的 ‘-1’ 改成 ‘0’。

主题

WordPress 2.8 的默认主题,日期显示总是有问题。无论用户怎么选择的,都是它自己的时间格式,不符合国际化的要求。

我改用了 Precious 主题,效果很好。

插件

Role Scoper

CMS 的一个必要条件,是权限控制。 Role Scoper 这个插件就是干这个的。我的做法是这样的:

创建一个分类 (category) C1,创建一个组 (group) G1

在 Restrictions/Categories 下面把 C1 配置为受限制的 (restricted)

在 Roles/Categories 下面把 G1 分配为 C1 的 Post Editor

这样就实现了只有 G1 的用户才能浏览、修改 C1 分类下的帖子,实现了内部资料的目的。

最后,如果要实现对附件的权限管理,还要开启 permalink。这在 Roles/Options 下面有说明。

Role Scoper 有个 bug,导致了 Windows Live Writer 选择打开命令时不能浏览到正确的文章。经过几个小时的试验,我发现在 cap-interceptor_rs.php 文件中大约 400 行处 flt_user_has_cap 函数中,有一个对于生成 $listed_ids 的优化处理在 xmlrpc 的情况下会出错。加上一个条件,让它在 xmlrpc 的情况下不生效即可。具体修改如下,其中 defined(‘XMLRPC_REQUEST’) 为添加的条件:

if ( defined('XMLRPC_REQUEST') || ! isset($hascap_object_ids[$src_name][$object_type][$capreqs_key]) ) {
...
} else ...

Avatar

这个插件允许用户自己上传头像,而不必引用 gravatar.com 的资源。

Sidebar Login

这个插件是首页的一个 widget,允许用户在那里登录,而不必记住管理页面的地址。首页登录对 CMS 的可用性至关重要。(作者:Jackqq)