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

https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_posts

関数リファレンス/WP Query

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E6.97.A5.E4.BB.98.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF

category cloud