WordPress 教程:非插件实现最近更新过的文章

[ 博客 ]

某些文章需要不定期的更新(如WordPress主题版本更新、资源收集更新),会对旧文章重新编辑,但是访客无法得知这些文章更新了,本教程可实现将最近重新更新的文章罗列出来。

把以下代码粘贴到主题的 functions.php 文件中。$num 是展示数量,$days 是几天内的新文章除外。

function recently_updated_posts($num=10,$days=7) { if( !$recently_updated_posts = get_option('recently_updated_posts') ) { query_posts('post_status=publish&orderby=modified&posts_per_page=-1');
 $i=0;
 while ( have_posts() && $i<$num ) : the_post();
 if (current_time('timestamp') - get_the_time('U') > 60*60*24*$days) { $i++;
 $the_title_value=get_the_title();
 $recently_updated_posts.='<li><a href="'.get_permalink().'" title="'.$the_title_value.'">' .$the_title_value.'</a><span class="updatetime"><br />&raquo; 修改时间: ' .get_the_modified_time('Y.m.d G:i').'</span></li>';
 } endwhile;
 wp_reset_query();
 if ( !empty($recently_updated_posts) ) update_option('recently_updated_posts', $recently_updated_posts);
 } $recently_updated_posts=($recently_updated_posts == '') ? '<li>None data.</li>' : $recently_updated_posts;
 echo $recently_updated_posts; }
function clear_cache_zww() { update_option('recently_updated_posts', ''); // 清空 recently_updated_posts
}
add_action('save_post', 'clear_cache_zww'); // 新发表文章/修改文章时触发更新

 

调用方法:

<h3>Recently Updated Posts</h3> <ul> <?php if ( function_exists('recently_updated_posts') ) recently_updated_posts(8,15); ?> </ul>

参数说明:8 为展示文章数量,15 指15天内发表的文章除外

[ via ]

发表评论

电子邮件地址不会被公开。

随机