連番に関する覚書

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

通常の一覧で投稿に連番をつけたい場合、$wp_query->current_post; で表示することができる。*0から始まるので + 1 とする。

投稿全体で何番目かを表示したい場合は

function get_serial( $post_type = 'post', $op = '<=' ) {
    global $wpdb, $post;
    $post_type = is_array($post_type) ? implode("','", $post_type) : $post_type;
    $serial = $wpdb->get_var("
        SELECT COUNT( * )
        FROM $wpdb->posts
        WHERE post_date {$op} '{$post->post_date}'
        AND post_status = 'publish'
        AND post_type = ('{$post_type}')
    ");
    return $serial; }

のようにfunctions に記入してデータベースから取得する。echo get_serial();

カスタム投稿タイプで桁を揃えたい場合は $xxx = get_serial(‘posttype’); $xxx = sprintf(“%02d”,$xxx); のようにしてから echo

2020.5 追記
$op = ‘<=' で古い順、$op = '>=’ で新しい順

2022.1 追記
Simple Custom Post Order を使用して管理画面での並び順通りにしたい場合、WHERE menu_order {$op} ‘{$post->menu_order}’
この場合、$op = ‘<=' で上から