Smart Archives 增强

安装了 Justin Blanton 开发的 smart archives 插件, 发现这个插件对中文和韩文支持不佳。我给做了点小修改,并且对他的一些小缺陷也进行了补正。最后的效果请看 http://www.doyj.com/archives/

安装方法如下:
  1. 将下面的代码拷贝并存成文件smartarchives.php
  2. 将smartarchives.php 上载到你的plugin目录
  3. 到控制面板激活Smart Archives 插件
  4. 在适当的地方插入smartArchives()函数调用。
    这个函数有两个参数,第一个在”both”, “block”,”list”中选择,默认为both 第二个是要排除的分类id.
下面就是修改后的代码:


‘.$years[year].’: ‘);
$qm = mysql_query(“SELECT distinct month(post_date) as monthv
FROM $tableposts
ORDER BY monthv asc”) or die(mysql_error());

for ($i=1; $i<=12; $i++) { $q = mysql_query("SELECT *, year(post_date) as year FROM $tableposts WHERE year(post_date)='$years[year]' AND month(post_date)='$i' AND post_status='publish' AND post_date <= NOW() ORDER BY id desc") or die(mysql_error()); $sm = $month[zeroise($i,2)]; // get the shortened month name; strtotime() localizes if(mysql_num_rows($q)) { echo('‘.$sm.’ ‘); }
else
{ echo(‘‘.$sm.’ ‘); }
}

echo(‘
‘);
}
echo (‘

‘);
}

if (($format == ‘both’) || ($format == ‘list’)) { //check to see if we are supposed to display the list
$qy = mysql_query(“SELECT distinct year(post_date) as year, post_status
FROM $tableposts
WHERE post_status=’publish’
AND post_date <= NOW() ORDER BY year desc"); // loop to display links to all posts, sorted by descending month and day while($years = mysql_fetch_array($qy)) { $qm = mysql_query("SELECT distinct month(post_date) as monthv FROM $tableposts ORDER BY monthv desc") or die(mysql_error()); while($date = mysql_fetch_array($qm)) { $q = mysql_query("SELECT *, year(post_date) as year, month(post_date) as monthv FROM $tableposts WHERE year(post_date)='$years[year]' AND month(post_date)='$date[monthv]' AND post_status='publish' AND post_date <= NOW() ORDER BY id desc") or die(mysql_error()); if(mysql_num_rows($q)) { $lm = $month[zeroise($date[monthv],2)]; // get the full month name; strtotime() localizes echo('

‘.$lm.’ ‘.$years[year].’

‘);
echo(‘

    ‘);
    $q = mysql_query(“SELECT *, year(post_date) as year, month(post_date) as monthv
    FROM $tableposts WHERE year(post_date)=’$years[year]’
    AND month(post_date)=’$date[monthv]’
    AND post_status=’publish’
    ORDER BY post_date desc”) or die(mysql_error());
    while($post = mysql_fetch_array($q)) {
    if ($post[post_date_gmt] <= $now) { if ($catID != '') { // check to see if a category id was specified in the arguments // get the categories that are attached to the current post $cats = $wpdb->get_col(“SELECT category_id FROM $wpdb->post2cat WHERE post_id = $post[ID]”);
    $found=false;
    foreach ($cats as $cat) { // look to see if the specified category is attached to the current post
    if ($cat == $catID) $found=true;
    }
    if (!$found) echo(‘

  • ‘.$post[post_title].’
  • ‘);
    }
    else echo(‘

  • ‘.$post[post_title].’
  • ‘);
    }
    }
    echo (‘

‘);
}
}
}
}
}
?>

Tags: ,

categories IT

5 Comments

  • By alu, 十二月 22, 2006 @ 11:03 上午

    smartArchives()函数调用。,能不能具体写出来?我怎么试也不可以啊…汗

  • By oldmonk, 十二月 22, 2006 @ 1:47 下午

    在评论里不能写代码,给你email过去了

  • By Albert, 六月 2, 2007 @ 6:21 下午

    不错,不错,修复了乱码问题,但我复制的时候把前面的序号也复制进来了,还要一个一个的删。建议把前面的序号去掉。

  • By Albert, 六月 4, 2007 @ 4:13 下午

    发现一个问题,我不能用win live writer发布日志,试了半天之后才明白,是因为这个插件造成的故障,通用smart archive之后live writer一切正常。

Other Links to this Post

  1. Smart Archives 增强代码 | IdeaTalks — 二月 2, 2008 @ 4:12 下午

RSS feed for comments on this post. TrackBack URI

Leave a comment

  • :em48:
  • :em32:
  • :em34:
  • :em14:
  • :em72:
  • :em37:
  • :em53:
  • :em56:
  • :em25:
  • :em39:
  • :em04:
  • :em13:
  • :em38:
  • :em20:
  • :em41:
  • :em31:
  • :em16:
  • :em45:
  • :em21:
  • :em43:
  • :em12:
  • :em71:
  • :em11:
  • :em23:
  • :em46:
  • :em66:
  • :em47:
  • :em02:
  • :em49:
  • :em54:
  • :em27:
  • :em36:
  • :em35:
  • :em15:
  • :em05:
  • :em26:
  • :em44:
  • :em06:
  • :em64:
  • :em01:
  • :em55:
  • :em70:
  • :em28:
  • :em40:
  • :em67:
  • :em18:
  • :em63:
  • :em09:
  • :em10:
  • :em62:
  • :em69:
  • :em03:
  • :em08:
  • :em33:
  • :em42:
  • :em52:
  • :em51:
  • :em68:
  • :em30:
  • :em65:
  • :em59:
  • :em29:
  • :em07:
  • :em50:
  • :em17:
  • :em24:
  • :em57:
  • :em22:
  • :em19:
  • :em60:
  • :em61:
  • :em58: