国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

wordpress最新、熱評和隨機日志函數三體合一

2024-04-25 20:42:30
字體:
來源:轉載
供稿:網友

最新日志、熱評日志、隨機日志這三個功能在函數上是很相近的,無非就是一個排序的不同,最新日志是按照發布時間排序,熱評日志是按照評論數量排序, 隨機日志則是隨機排序。所以我索性就把這三個函數合并為一,一方面減少 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 .= '<li><a href="' . $permalink . '" title="'.$post_title.'">' . $post_title . '</a>'.$$plusmsg.'</li>';

echo '<ul>'.$output.'</ul>';

}

wp_reset_query();

}

調用方法分別如下:

<?php

//最新日志

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 .= '<li><a href="' . $permalink . '" title="'.$post_title.'">' . $post_title . '</a>'.$$plusmsg.'</li>';

echo $output;

}

wp_reset_query();

}

可以看到第二行中的 30 就是指最近 30 天,也可以根據你自己的需要修改這個時間。至于調用則和升級版之前的一樣,下面只是比上次多加了一個 $limit 參數:

<?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 );

?>

OK,接下來我要把點擊最高的排行榜也改成 30 天內的排名,這樣對經常來光顧的用戶來說應該更合理吧,否則看來看去就那幾篇,標題都看爛了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 司法| 贵溪市| 响水县| 丹江口市| 车致| 麻栗坡县| 荥阳市| 高雄县| 永福县| 黑水县| 丹凤县| 金阳县| 凤凰县| 东台市| 手游| 衡南县| 洪泽县| 鱼台县| 古田县| 镇坪县| 广东省| 兰州市| 博湖县| 江都市| 和林格尔县| 公主岭市| 临西县| 资源县| 新津县| 凤庆县| 威信县| 沙坪坝区| 理塘县| 界首市| 右玉县| 博罗县| 焦作市| 纳雍县| 阿图什市| 洪泽县| 高雄市|