Calendar

2008年一月
« 十二   二 »
 123456
78910111213
14151617181920
21222324252627
28293031  

Translator

WordPress:如何将留言和 Trackback/Pingback 区分开来

首先大家需要明白,WordPress 是一个功能极其强大的平台,内核程序的主要职责只是管理和维护一个包含有日志、用户、留言等信息的数据库,而不直接负责处理与前端用户的交互–但它提供了很多强大的接口,并把这一职责留给了 Theme,也就是我们常说的主题或模板。只要运用合适,我们可以在 Theme 中编写代码来完成任何我们希望的事情,当然,将留言和 Trackback/Pingback 进行区分也不例外。接下来,我会一步步讲解如何改造你的主题以达到这一目的。

第一步 / Step 1

在一篇日志下面显示留言信息依赖于 Theme 的 comments.php 文件,其中的全局变量 $comments 保存了该日志拥有的全部 comments,包括留言、Trackback/Pingback(如果有的话)。我们第一步需要做的,就是建立两个数组 $comments_list$pings_list,用来分别存放留言和非留言数据。方法很简单,我们循环检查每条 comment 的类型是否为 “comment”(普通留言),并以此为据进行分类,是:放进 $comments_list;否:放进 $pings_list,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Seperate comments and pings
if ($post->comment_count> 0) {
    $countComments = 0;
    $countPings = 0;
    $comments_list = array();
    $pings_list = array();
    foreach ($comments as $comment) {
        if ('comment' == get_comment_type()) {
            $comments_list[++$countComments] = $comment;
        } else {
            $pings_list[++$countPings] = $comment;
        }
    }
}

Click to continue reading

WordPress分类归档插件: extended-live-archive (ELA)

Extended Live Archive Plugin(以下简称ELA),能以日期列表和分类与标签列表等形式来汇总博客文章,其清晰易于浏览性是目前最理想的一款wordpress插件。它是根据 Super Archives Plugin 再作改进,現在它的功能已经超越了 Super Archives Plugin 了。 ELA 使用了 AJAX 的技术,它的效果如本站右上角的索引表

ELA功能介绍

支援顯示月份的縮寫,即 Jan 是 January 這樣。
使用修改後可以分開顯示留言和 pingback/trackback 數目的 Extended Live Archive plugin)
開始支援自定只顯示最常用的 tags 或者以 tagged 的文章數目作條件限制顯示。
能夠使用 CSS 來自定顯示方式。

安装要求

空间PHP版本为4.3以上,如今一般的空间PHP版本都是4.4以上的了,基本不用做太多考虑。

安装步骤

1、現在最新版本是 0.10 Beta-r18,現在有關每一個版本的改動,可以在 Extended Live Archive – Changelog 網頁清楚看到,首先從作者網頁下載 plugin 的 zip file和其他插件一样,下载后直接连根目录一起解压到plugins文件夹下,将插件文件夹中的cache权限属性设置为777;击活插件。

2、显示方式的设定,在 plugin zip file 內含一個 af-ela-style.css 的档案,大家可以用这个 CSS 档案作为蓝本修改出合自己心意的显示风格。 在更改 CSS 后,要怎样才能加近原來的 theme 中呢?只需要將 af-ela-style.css 复制在 theme folder 內并改名成为ela.css,再在 ELA 的设定画面中选取 “Use the default CSS stylesheet” 便可,或直接把af-ela-style.css中内容加入theme的style.css中去。  

Click to continue reading