最近做了一个新的主题,使用Bootstrap3和FontAwesome框架搭建的博客,新主题将在不久上线,考虑到这个前端博客主题使用了差不多一年多的时间,其中的一些技术还是比较高级的,所以在此分享给喜欢折腾的朋友。
如果你对我的Wordpress主题感兴趣,可以去下载我的个人作品一些免费主题:Started、FourYears、FlatBox。
第一部分代码便是:Wordpress最新修改文章,去看看实际演示效果
为什么需要这个功能呢?由于前端开发技术文章经常变化,各种hack随着时间和认识的加深也会需要改变,这时候你过去的文章可能不适合,那么这个时候你就需要修改了。修改了之后按照Wordpress文章是根据发表时间来输出的,那么新修改的文章别人就可能看不到了,这个时候你可以通过Wordpress函数来输出这部分更新的文章。代码来自Zww.me如下:
// Recently Updated Posts by zwwooooo | zww.me 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&offset=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><i class="updatetime">' .get_the_modified_time('m.d').'</i></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'); // 新发表文章/修改文章时触发更新
在需要插入代码的地方添加下面的语句:
<?php if ( function_exists('recently_updated_posts') ) recently_updated_posts(5,15); ?>
此代码在使用缓存下面好像无效。
第二种方式是来自wpbeginner,把下面代码放到function.php里面。
function wpb_lastupdated_posts() { // Query Arguments $lastupdated_args = array( 'orderby' => 'modified', 'ignore_sticky_posts' => '1' ); //Loop to display 5 recently updated posts $lastupdated_loop = new WP_Query( $lastupdated_args ); $counter = 1; echo '<ul>'; while( $lastupdated_loop->have_posts() && $counter < 5 ) : $lastupdated_loop->the_post(); echo '<li><a href="' . get_permalink( $lastupdated_loop->post->ID ) . '"> ' .get_the_title( $lastupdated_loop->post->ID ) . '</a> ( '. get_the_modified_date() .') </li>'; $counter++; endwhile; echo '</ul>'; wp_reset_postdata(); } //add a shortcode add_shortcode('lastupdated-posts', 'wpb_lastupdated_posts');
在需要的地方调用下面代码:
<?php if (function_exists(wpb_lastupdated_posts)) : wpb_lastupdated_posts(); endif; ?>