WordPress:現在の投稿記事が何番目か取得する方法
get_postsを使った下記のコードで詳細ページの投稿が何番目の記事なのか表示することが出来ます。
get_postsとwp_queryを組み合わせています。
<p>
<?php
$date = get_post(get_the_ID());
$post_datetime = strtotime($date->post_date);
$num_arg = array(
'post_type' => 'fukumen',
'posts_per_page' => -1,
'date_query' => array(
'year' => date('Y', $post_datetime),
'monthnum' => date('n', $post_datetime),
'day' => date('j', $post_datetime),
'hour' => date('G', $post_datetime),
'minute' => (int) date('i', $post_datetime),
'second' => (int) date('s', $post_datetime),
'compare' => '>=',
),
);
$my_query = get_posts($num_arg);
echo (count($my_query));
?>
</p>
下記のコードも上記のものと同じです。
$queryを別々に書いて最後に$num_arg['date_query'] = $date_query;で、配列のキーdate_query'に$date_queryを代入しています。
<p>
<?php
$date = get_post(get_the_ID());
$num_arg = array(
'post_type' => 'fukumen',
'posts_per_page' => -1,
);
$post_datetime = strtotime($date->post_date);
$date_query = array(
'year' => date('Y', $post_datetime),
'monthnum' => date('n', $post_datetime),
'day' => date('j', $post_datetime),
'hour' => date('G', $post_datetime),
'minute' => (int) date('i', $post_datetime),
'second' => (int) date('s', $post_datetime),
'compare' => '>=',
);
$num_arg['date_query'] = $date_query;
$my_query = get_posts($num_arg);
echo (count($my_query));
?>
</p>
テンプレートタグ/get posts
関数リファレンス/WP Query