WordPressで投稿の総数と、メディアにある画像の総数をデーターベースから取得して表示する

PR

WordPressを使って、ギャラリーサイトや。メディア系のサイトを作る場合に。サイトの情報として表示したくなるのが、記事数の総数や画像数の総数です。これらを表示することで、コンテンツを沢山持っているということと、更新する度にこれらの値が増えていくので。更新も頻繁に行っているっていうのをアピールするのにも使えますね

WordPressに用意されているテンプレートタグを使ってこれらの情報をget_postsで取得することも出来ますが、データベースから直接探すほうが柔軟にデータを取得して表示することが出来。さらに、コードが短くて済みます。

 

WordPressでデータベースから直接取得して、記事の総数・画像の総数を取得する方法

データベースへの接続は、Wordpressだとすごく簡単にすることが出来ます。あとはSQLクエリを使って検索の要領で必要なデータを絞り込んで取得するだけです。

 

画像タイプの投稿の数を数えて出力するコード

global $wpdb;
$count = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_mime_type LIKE '%image%'");
echo $count;

$wpdb->posts のところで データベースにある プレフィックス+posts のテーブルを指定しています。そのテーブルの中にある post_mine_type という項目の値に image が含まれるものに絞り込んでいます。これでWordpress内にある画像の総数を取得することが出来ます。

WordPressでは、画像もひとつの記事として実はデータベースには登録されています。その記事の詳細に画像のタイプが保存されています。 実際には image/png や image/jpg といった感じで拡張子も一緒に記録されています。 画像が今回は対象ということで image が含まれているもだけを取り出しています。

データベースにどんな情報が保存されているかを、たまにはチェックしてみてください。そうしたら、それらの情報を組み合わせた新しい使い方とかも見えてきます!

 

 

投稿タイプの記事の総数を数えて出力するコード

global $wpdb;
$count = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'");
echo $count;

こちらも同じく posts のテーブルに記事のデータは入っていますので。FROM $wpdb->posts で指定しています。次に、post_status = ‘publish’ で公開状態にある記事を対象にしています。AND post_type = ‘post'” で更に、投稿タイプがpost つまり通常の投稿のものを指定しています。ここの値をpageにしたり、またはカスタム投稿の名称にすることでそれぞれの記事数もカウントすることが出来ます。

ANDを使うことで、両方の条件に一致するものだけを絞り込んでいます。そしてその総数をcountで返しています。

 

 

記事のデータをもっと取り出して使う場合はWordpressのループ処理を使ったほうが良いですが。総数を数えるだけでしたら、こちらの方法がコードが短くて利用しやすいです。

PR

COMMENT

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー