WordPress代码实现历史上的今天功能

WordPress代码实现历史上的今天功能

本功能是展示站内历史上的今天发布的文章,而不是之前历史上发生的大事。所以想正常使用本功能,首先需要的是你站点运行超过1年了,如果还不到一年,那自然不会有什么历史上的今天了。
今天我就给大家带来如何无需插件使用代码来实现历史上的今天这个功能,本功能是使用wordpress自带的date_query来实现。

实现方法

下面的代码加入到functions.php中

function fa_today_in_histroy(){
    $today = getdate();
    $args = array(
        'date_query' => array(
            array(
                'year'      => $today['year'],
                'compare'   => '!=',
            ),
            array(
                'month' => $today['mon'],
                'day'   => $today['mday'],
            ),
        ),
    );
    $postlist = get_posts($args);
    $html = '<h3 class="tih-title">历史上的今天</h3><ul class="tih-title-list">';
    if(!empty($postlist)){
        foreach ($postlist as $key => $post) {
            $html .= '<li class="tih-title-item"><a href="' . get_permalink($post->ID) . '" title="' . $post->post_title . '">' . $post->post_title . '</a></li>';
        }
        $html .= '</ul>';
        return $html;
    }
}

注意,在这个循环中是不能直接调用各种wp文章函数的,如需使用wp文章函数,则需要使用setup_postdata()wp_reset_postdata()

调用方法

如果是添加到文章末尾,可直接使用如下钩子,直接添加到functions.php中即可

function add_today_in_histroy($content){
    global $post;
    return $content . today_in_histroy();
}
add_filter('the_content','add_today_in_histroy');

如果是自定义位置,则使用

<?php echo today_in_histroy(); ?>

 

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5.如有侵权请联系客服邮件770973008@qq.com
原文链接:https://www.ytaomb.com/14678.html,转载请注明出处。

0

评论0

大促销!原价199元的终身SVIP会员 五一大促销只要 68,无套路/全站免积分/免金钱币下载。购买VIP会员
没有账号? 注册  忘记密码?