HOME > WordPress > カスタム投稿の記事をナンバリングする

カスタム投稿の記事をナンバリングする

カスタム投稿の記事だけを通し番号でナンバリングするために、functions.phpに追記するソースコードと番号を表示したいところに書くコードをメモ。

カスタム投稿の記事だけを通し番号でナンバリングする方法

特定のカスタム投稿の記事だけを通し番号でナンバリングしたいときにどうするか。数が決まっていたり少ない場合は直書きやcssで対応できるけれど、クライアントが記事を追加していく場合などは自動で番号をつけられたらありがたい。

実装

ということで以下をfunctions.phpに追加する

function get_post_number( $post_type = 'post', $op = '<=' ) {
    global $wpdb, $post;
    $post_type = is_array($post_type) ? implode("','", $post_type) : $post_type;
    $number = $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 $number;
}

表示したい場所に以下のコードを書く

<?php echo get_post_number( $post->post_type ); ?>

参考サイト