コピペOK! 日付を変更するだけ!!指定した日の投稿した記事数を取得する wordpressのためのsql

指定した日の投稿した記事数を取得する

今回はあの日、何回記事を投稿したっけなぁという時に便利なsqlを紹介します。
まずは下記のコードをご覧ください。

SELECT count(*)  
FROM   wp_posts
WHERE  post_date   LIKE '2017-12-09%' 
AND    post_status =    'publish' 
AND    post_type   =    'post'

上記のsqlを簡単に訳すと「wp_postsテーブルの投稿日時が2017年12月09日でかつ、公開済みの投稿記事を数えて選びます」になります。

count(*)

上記は「選んだ記事を数えて」返します。

前方一致で月別、日別で記事を取得する

WHERE  post_date   LIKE '2017-12-09%'

上記は投稿日時で時間帯を%に置き換えて前方一致をしています。
上記を下記に変えると「2017年12月に投稿した記事」になります。

WHERE  post_date   LIKE '2017-12%'

日付の部分を消して12月のとなりに%を置くことで「12月中に投稿した記事」となります。

応用編:年と時間関係なしの月別、時間帯別の記事を取得する

WHERE  post_date   LIKE '%12%'

上記のようにすると「12月に投稿した記事」となります。もちろん年、日、時間は関係なく12月に投稿したものです。
2000年の12月であろうが2017年の投稿であろうが関係ありません。
時間帯で検索したい場合は

WHERE  post_date   LIKE '2017-12-09 19%'

「2017年12月09日の19時に投稿した記事」となります。

補足:公開済みと投稿記事の指定の仕方

AND    post_status =    'publish' 

これは「公開済み」の記事になります。
privateにすると「非公開」になります。

AND    post_type   =    'post'

これは「投稿記事」になります。
pageにすると「固定ページ」になります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする