昊天SEO

把wordpress最新文章、热门文章,随机文章函数合成一起

由于最新文章、热门文章、随机文章这三个功能在函数上是很相近的,无非就是一个排序的不同,最新文章是按照发布时间排序,热门文章是按照评论数量排序,随机文章则是随机排序。把他们集合在一起一方面减少 functions.php 中代码的冗余,另一方面也方便自己的管理。

下面,一起来制作这项功能。

1、 在WordPress 主题目录下的 functions.php添加以下代码

[cce]
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();  
}  
[/cce]

第二行中的 30 就是指按最近 30 天范围内排名来显示文章,也可以根据你自己的需要修改这个时间。

2、调用方法分别如下:

  1. [cce]
    <?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 );  
    ?>  
    [/cce]

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址