[WordPress] 公開している記事数を取得するショートコードを作ってみた

Nプログラマ(@Nprog128)です。
WordPressでサイドバーに投稿した記事数を表示したい、、、
と思うことがあります。
管理画面から公開した記事数を数えて直書きでもいいのですが、記事を更新(作成・削除・非公開)する度に手動で書き換えるのはとても面倒です。
ということで、WordPressで公開している記事数を表示するショートコードを作ってみました。
それを使って、サイドバーに表示するというところまでやってみます。
- 公開している記事数を表示するショートコードを作成
- 作ったショートコードを使って、サイドバーに記事数を表示
ショートコードを作成する
function.phpを編集するので、バックアップを取っておくようにしましょう。
公開されている記事数を取得する、というショートコードを作ります。
2通りで作っていますが、どちらを使っても同じ処理です。
(1) 無名関数を使う
無名関数を使ったコード コードを開く
1<?php
2// 現在の公開されている記事数を取得
3add_shortcode('publish_posts_count', function() {
4 return wp_count_posts()->publish;
5});
(2) 無名関数を使わない
無名関数を使わないコード コードを開く
1<?php
2// 現在の公開されている記事数を取得
3function publish_posts_count_func() {
4 return wp_count_posts()->publish;
5}
6add_shortcode('publish_posts_count', 'publish_posts_count_func');
(1) か (2) のどちらかのコードを利用しているテーマファイルのfunction.phpに記述すれば、使えるようになります。
使い方
先程の作ったショートコードの使い方です。
投稿記事やウィジェットなど表示したい箇所で、以下のようにショートコードを書けばオッケーです。
1[publish_posts_count]
これで現在の公開した記事数を表示することができます。
ちなみに単独ではなく、他の文章の中に入れて使うこともできます。
1記事数は[publish_posts_count]です。
この場合は、記事数は10です、と表示されます。
サイドバーへ表示してみる
それでは先程作ったショートコードを使って、サイドバーに公開した記事数を表示してみます。
WordPressの管理画面に入り、左のメニューから 外観 > ウィジェットを開きます。

テキストウィジェットをサイドバーに登録します。

登録したウィジェットのテキスト入力欄に、作成したショートコードを記述します。


ウィジェットには以下の情報を入力しました。
項目 | 内容 |
---|---|
タイトル | 現在の記事数 |
テキスト | 公開した記事は[publish_posts_count]です |
これらを入力して最後に保存を押せば準備完了です。
トップページに移動して、サイドバーを確認してみます。
サイドバーに、現在の記事は○ですと表示されていればオッケーです(○は公開している記事数)
サイドバー以外に記事やプロフィールなどの固定ページの文章中でも使えるので、色々とお試しください。
おわりに
今回は、WordPressのショートコードで公開している記事の数を取得するショートコードを作り、それを使ってサイドバーに表示する、という内容でした。
記事数を表示するのは、記事更新のモチベーションを上げる一つの方法かもしれませんね。
他には記念メダルとかを一緒に表示すると、さらに楽しめると思います。
それでは、このへんで。
バイナリー!