WordPress主题berita几处修改记录

by muzik on 2009-12-14

前阵子看到这篇《使用WordPress定制企业网站》介绍的berita这个主题。界面我很喜欢,以前也确曾帮朋友用wordpress做过企业网站,于是就去下载了官方原版来用。

当然世事无完美,更没有什么主题能够完全适应各种需求。使用中发现了一些小问题,或者仅仅是不符合个人需求之处,做了一些改动,特此记录。

 

选择空分类作为博客页

设置面板里Blog Section Settings->Pick Category for Your Blog Posts处,用于选择一个分类来做博客索引页。作者建议我们把所有分类都放在一个大分类之下,然后选择这个大分类。
但问题是,这里列出的分类不含直属文章数为0的分类,而上级分类一般没有直属文章。

改动:打开berita/library/functions/admin_functions.php,删除第32行

AND $wpdb->term_taxonomy.count > '0'
 

分类博客页使用友好链接

设置了一个分类作为博客页之后,在主菜单Home之后就可以看到它了。但是它的链接形式是这样的:/?cat=3,我们希望它显示成友好链接/category/blog。

改动:打开berita/header.php,把第113行

if ( $catid <> "" ) {....} else {}
 

改为

if ( $catid) {
      $class=(is_archive() || is_single()) ? ' class="current_page_item"' : null;
      printf('<li%s><a href="%s">%s</a></li>',$class,get_category_link($catid),$blogcatname);
 }

 

此处可进一步改动,以减少一次数据库查询。

Popular Posts Widget适应中文截断

berita自带了一个Popular Posts Widget,根据评论数量来显示条目。但是对中文标题会截出乱码。

改动:打开berita/library/functions/widgets_functions.php,把第306行


 $first_post_title=substr($post_title,0,26);

 

改为

$first_post_title=function_exists('mb_substr') ? mb_substr($post_title,0,18) : substr($post_title,0,26);

 

相对时间出错

berita有一个Show relative dates in posts的选项,打开即会把文章的发布时间显示成Posted 1 day, 14 hours ago这样。但诡异的是,刚刚发布的文章,时间会显示成Posted 3 weeks, 6 days ago。

此问题在本地没有出现,暂时未知缘故。

不支持microformats

这个没什么说的,要改的地方太多,算了。

Related posts:

  1. rails中创建RSS PostsController   def index     @posts = Item.all(:limit=>10)  ...
  2. Joomla JPromoter and JReviews Hack “JPromoter”:joomlaequipment.com/content/view/4/19/ 是一个Joomla的SEF entention,用于把形如 @/index.php?option=com_content&task=view&id=9&Itemid=75@ 这样的地址转换成 @/the-news/latest-news/curabitur-convallis-laoreet.html@ 。 就像wordpress旧时的一些版本一样,这种转换不支持中文。需要自己做一些修改。 h3. 安装JPromoter...
  3. CakePHP 实例教程: Categories Acts as Tree Tree是CakePHP 1.2的核心Behaviors之一,可以用来轻易的实现无限极分类,并呈现树状列表。 图片来源:Tree traversa,WIKIPEDIA 基础实例 建立数据表 CREATE TABLE `categories` (...

Leave a Comment

{ 1 trackback }

Previous post:

Next post: