最新日志、热评日志、随机日志这三个功能在函数上是很相近的,无非就是一个排序的不同,最新日志是按照发布时间排序,热评日志是按照评论数量排序,
随机日志则是随机排序。所以我索性就把这三个函数合并为一,一方面减少 functions.php 中代码的冗余,另一方面也方便自己管理。
把以下函数复制到 WordPress 主题目录下的 functions.php 中:
function get_posts($orderby = ”, $plusmsg = ”) { $get_posts = query_posts(‘posts_per_page=10&caller_get_posts=1&orderby=’.$orderby); foreach ($get_posts as $get_post) { $output = ”; $post_date = mysql2date(‘y年m月d日’, $get_post->post_date); $commentcount = ‘(‘.$get_post->comment_count.’ 条评论)’; $post_title = htmlspecialchars(stripslashes($get_post->post_title)); $permalink = get_permalink($get_post->ID); $output .= ‘
|
调用方法分别如下:
//最新日志 get_posts( $orderby = ‘date’, $plusmsg = ‘post_date’ ); //热评日志 get_posts( $orderby = ‘comment_count’, $plusmsg = ‘commentcount’ ); //随机日志 get_posts( $orderby = ‘rand’, $plusmsg = ‘post_date’ ); ?> |
可以看到它们三者共用一个函数,而只是参数不同罢了,如题,最新、热评、随机日志函数三体合一就完成了。
下面我介绍一下把 WordPress 的最新、热评、随机日志这三体合一的函数设置在 30 天内的时间范围里,效果就见本站上的侧边栏上的这些日志吧,都在 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 .= ‘
|
可以看到第二行中的 30 就是指最近 30 天,也可以根据你自己的需要修改这个时间。至于调用则和升级版之前的一样,下面只是比上次多加了一个 $limit 参数:
//最新日志 some_posts( $orderby = ‘date’, $plusmsg = ‘post_date’, 10 ); //热评日志 some_posts( $orderby = ‘comment_count’, $plusmsg = ‘commentcount’, 10 ); //随机日志 some_posts( $orderby = ‘rand’, $plusmsg = ‘post_date’, 10 ); ?> |
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.shopet.cn",如遇到无法解压的请联系管理员!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.shopet.cn",如遇到无法解压的请联系管理员!