鹿泽鹿泽  2024-07-31 09:44:34 鹿泽笔记 隐藏边栏  0 

WordPress如何获取一篇文章属于发布年度的第几篇文章?有时候做周刊类的博客的时候需要用到这个,比如2020年第几期,如果手动写的话有时候会写错,今天给大家分享一种自动排序的方法。

将如下代码放入主题的function.php中:

/*获取文章属于年度的第几篇文章*/
function fa_get_postIndex_this_year( $postid = null ){
    global $post;
    $postid = $postid ? $postid : get_the_ID(); 
 
    $query_args = array(
        "posts_per_page" => -1,
        'order' => 'ASC',
        'date_query' => array(
            'year' => get_the_date('Y'),
        )
    );
    $i = 0;
    $the_query = new WP_Query($query_args);
    while ($the_query->have_posts()) {
        $the_query->the_post();
        $i++;
        if ( $postid == get_the_ID() ) return $i;
    }
    wp_reset_postdata();
 
} 
 
function fa_get_postIndex_bymeta( $postid = null ){
    global $post;
    $postid = $postid ? $postid : get_the_ID();
    if ( get_post_meta($postid,'_index_this_year',true) ) return get_post_meta($postid,'_index_this_year',true);
    $index = fa_get_postIndex_this_year( $postid );
    add_post_meta($postid,'_index_this_year',$index);
    return $index;
}

调用方法:

<span>[<?php echo the_time('Y')?>]第<?php echo fa_get_postIndex_bymeta();?>期 </span>	

显示效果:[XXX年]第XX期。

1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505