北极寒流 » 网络资源 » WordPress最新日志、热评文章、随机日志3合1代码 - 2011.01.19

WordPress最新日志、热评文章、随机日志3合1代码

此WordPress最新日志、热评文章、随机日志3合1代码来自WordPress牛人-万戈。摘录至此,只为自己备忘。

下面的代码可以实现WordPress最新日志、热评文章、随机日志的函数设置在 30 天内的时间范围里。首先把以下函数放在 WordPress 主题文件夹里的 functions.php 中:

function filter_where($where = '') {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
return $where;
}
function some_posts($orderby = '', $plusmsg = '',$limit = 10) {
add_filter('posts_where', 'filter_where');
$some_posts = query_posts('posts_per_page='.$limit.'&caller_get_posts=1&orderby='.$orderby);
foreach ($some_posts as $some_post) {
$output = '';
$post_date = mysql2date('y年m月d日', $some_post->post_date);
$commentcount = '('.$some_post->comment_count.' 条评论)';
$post_title = htmlspecialchars(stripslashes($some_post->post_title));
$permalink = get_permalink($some_post->ID);
$output .= '<li><a href="' . $permalink . '" title="'.$post_title.'">' . $post_title . '</a>'.$$plusmsg.'</li>';
echo $output;
}
wp_reset_query();
}

可以看到第二行中的 30 就是指最近 30 天,也可以根据你自己的需要修改这个时间。调用方法分别如下:

<?php
//最新日志
some_posts( $orderby = 'date', $plusmsg = 'post_date', 10 );
//热评日志
some_posts( $orderby = 'comment_count', $plusmsg = 'commentcount', 10 );
//随机日志
some_posts( $orderby = 'rand', $plusmsg = 'post_date', 10 );
?>

可以看到它们三者共用一个函数,而只是参数不同罢了,WordPress最新日志、热评文章、随机日志3合1代码就完成了

评论关闭