如何为WordPress文章添加历史上的今天列表

2023年10月31日08:58:45 发表评论 1,613 views

如何为WordPress文章添加历史上的今天列表

该功能代码取至柳城大佬的 wp-today 插件,具体实现方法将以下代码添加到function.php文件末尾即可。

//历史上的今天,代码来自柳城博主的 WP-Today 插件
function wp_today(){
    global $wpdb;
    $post_year = get_the_time('Y');
    $post_month = get_the_time('m');
    $post_day = get_the_time('j');
    $sql = "select ID, year(post_date_gmt) as h_year, post_title, comment_count FROM 
            $wpdb->posts WHERE post_password = '' AND post_type = 'post' AND post_status = 'publish'
            AND year(post_date_gmt)!='$post_year' AND month(post_date_gmt)='$post_month' AND day(post_date_gmt)='$post_day'
            order by post_date_gmt DESC limit 5";
    $histtory_post = $wpdb->get_results($sql);
    if( $histtory_post ){
        foreach( $histtory_post as $post ){
            $h_year = $post->h_year;
            $h_post_title = $post->post_title;
            $h_permalink = get_permalink( $post->ID );
            $h_comments = $post->comment_count;
            $h_post .= "<li><strong>$h_year:</strong>  <a href='".$h_permalink."' title='".$h_post_title."' target='_blank'>$h_post_title($h_comments)</a></li>";
        }
    }
    if ( $h_post ){
        $result = "<h2>历史上的今天:</h2><ul>".$h_post."</ul>";
    }
    return $result;
}
function wp_today_auto($content){
    if( is_single() ){
        $content = $content.wp_today();
    }
    return $content;
}
add_filter('the_content', 'wp_today_auto',9999);

上述代码默认是在文章结尾自动添加。

 

如果需要自定义显示位置,则只需去掉上述代码的以下部分。

function wp_today_auto($content){
        if( is_single() ){
            $content = $content.wp_today();
        }
        return $content;
    }
add_filter('the_content', 'wp_today_auto',9999);

然后在需要显示的位置用下面函数调用即可。

<?php echo wp_today(); ?>

样式文件的话没有调整,大家根据自己喜好自行调整一下吧。

 


欢迎来到菜鸟头头的个人博客
本文章百度已收录,若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。

  • A+
所属分类:WEB

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: