加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

纯代码实现WordPress显示最近更新过的文章

发布时间:2020-12-14 14:24:25 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 如题,创客云经常开发一些博客主题,有时客户要求在文章内容底部显示最近更新的文章,不是相关文章,而且我们有时候会因为一些功能的不完美或者代码的

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

如题,创客云经常开发一些博客主题,有时客户要求在文章内容底部显示最近更新的文章,不是相关文章,而且我们有时候会因为一些功能的不完美或者代码的时效性、软件主题的更新等,对一些旧文章进行一些不定期更新,但是这种更新一旦没有及时通知访客,往往就没有什么意义了,访客很难知道。


1、代码部署

将以下代码添加到主题的 functions.php 里:

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'); // 新发表文章/修改文章时触发更新

2、调用方法

<h3>Recently Updated Posts</h3>

<ul>

<?php if ( function_exists('recently_updated_posts') ) recently_updated_posts(8,15); ?>

</ul>

其中 8 为展示文章数量,15 指 15 天内发表的文章除外,具体使用的时候可以根据自己的情况修改这两个参数。作者有添加数据库缓存方式,所以在修改文章/删除文章/发表文章时才会更新缓存。


相关参数说明:$num - 展示数量,$days - 几天内的新文章除外。

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读