Nov 10
不知道用什么标题好,就这个俗的吧……
我、classicning、DlzM三人合租的主机,在持续半个多月与木马的斗争中,得胜归来,重见天日。此刻,请允许我表达一下激动的心情……(被拖走)
话说真的是很久没有写博客了,昨天还和classicning说,我的单文章成本已经快顶上小报稿费的水平了,这次的故障让我又燃起了写blog的激情,并且决定放弃宁缺勿滥的宗旨,学习Samson的update体,做一个“告诉你我在做什么”的个人公告板。
其实想想自己真的是文笔越来越差,文章中无意义的口语习惯语越来越多,向着碎碎叨叨的文盲告状体一路狂奔。由于常年地不稳定,blog的pr也从4被降为0,还因为中木马而上过一次google的黑名单。最近流行李雷和韩梅梅,要是我的blog没当多好,这篇文章就可以到处贴了……综合起来,就是blog多年不写,长草严重,决定重新开始耕作,还请各位捧场。
基于同样的理由,停止更新十余天的NOD32升级服务器恢复,欢迎继续使用。
Dec 17
Wordpress有private post的功能,但是一个post一旦作为private被save而不是public,则不会在数据库中进行计数(不算在已发的文章中)。这里讨论了这个问题。
现在问题在于,如果一个tag或者category只含有private post,那么它的计数是0,被认为是不含有文章从而不会被显示出来,哪怕是登录以后有权限看private post的情况下也是如此。这里,Wordpress的support forum的一个Moderator建议应该修改wp-includes中的taxonomy.php里的此处
function _update_post_term_count( $terms ) {
global $wpdb;
foreach ( (array) $terms as $term ) {
$count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND post_type = 'post' AND term_taxonomy_id = %d", $term ) );
$wpdb->update( $wpdb->term_taxonomy, compact( 'count' ), array( 'term_taxonomy_id' => $term ) );
}
}
看起来似乎在 post_status = 'publish' 后面加一个 OR post_status = 'private' 就行了,但实际上没效果。为什么呢?这是往数据库中写的时候用来计数的,不是用来显示的;当我们已经有private post,修改这里并不会让本来被认为是空着的tag和category变得有数字。
Read the rest of this entry »
Recent Comments