[WordPress]投稿記事数を表示させたいので、ショートコードを自作して埋め込んでみた話

WordPress

functions.phpを利用しますので、万が一に備えてバックアップを取るなどの対策を行ってください。

今回は「公開済みの投稿の記事数を取得・表示」させるためにショートコードを自作して埋め込んだ時の備忘録となります。
覚えて置くと結構便利なので、興味がある方は参考にしてみてください。

ショートコードとは

簡単に言うと、「固定ページや記事内に指定したプログラムを(関数)を埋め込んで出力させるWordPressの機能」です。

前に紹介した「Smash Balloon Social Photo Feed」でも使用していますが、他プラグインなどでも見たことがあるのでは無いでしょうか?
特にコンタクトフォーム7を利用している方は、見かけたことがあるのではないでしょうか?

ショートコードを作る

ショートコードはシンプルなものであれば比較的簡単に作ることもできます。
それこそ数行のソースコードで。
複雑な機能をもたせたりすればするほど、もちろん難しくはなってきますが。

今回はタイトルにもある「投稿記事数表示させるためのショートコード」の書き方を紹介したいと思います。

ちなみにテンプレートタグは以下の通りです。

<?php
$count_posts = wp_count_posts();
?>

公開された投稿数の数を返すコードは「WordPress Codex 日本語版」でも初回されているので、そちらを参考にしてください。

上記サイトを参照に公開している投稿数をショートコードを利用して表示させたいので、function.phpに下記のコードを追加します。

functions.phpを利用しますので、万が一に備えてバックアップを取るなどの対策を行ってください。

function count_test() { 
	$count_posts = wp_count_posts();
	$published_posts = $count_posts->publish; // 公開済みの投稿数
	echo '合計'.$published_posts.'サイト掲載'; // 合計000サイト掲載 と表示されます
}

add_shortcode('short_code_count_test', count_test');//ショートコードで呼び出す名前は「short_code_count_test」になります

これで固定ページなどにショートコードを設定すれば「合計000サイト掲載」と表示されるようになります。
文言を変更したい場合は「合計」と「サイト掲載」を任意のテキストに変更すればOKです。タグを使いたい場合もそちらに掲載してください。

echo '記事数は<span>'.$published_posts.'</span>です'; // 合計000サイト掲載 と表示されます

functions.phpに設定(保存)できれば、あとは固定ページなど下記の様にコードを追加すればOKです。

[short_code_count_test]

問題なければ、固定ページなどに投稿記事数が表示されるようになっているかと思います。

Elementorサイトでのショートコード配置例

ついでにElementorを使って固定ページに表示せた方法をご紹介。

Elementorのブロック挿入で「ショートコード」を掲載したいセクションへドラッグします。

あとは「ショートコードを入力」フォームに先程設定したショートコード([short_code_count_test])を入力すればOKです!
問題なく「公開した記事投稿数」が表示されているかと思います。

Elementorを利用していなくでもブロック挿入ツール内に「ショートコード」があると思いますのでご安心ください!

まとめ

いかがでしたか?
今回はfunction.phpを使って、ショートコードを制作し公開している投稿記事数を表示する方法をご紹介しました。

プラグインを導入しなくてもこういったちょっとした処理は、ショートコードに書いておけば使い回しもできるので便利かと思います。

ショートコードのサンプルはネット上にたくさんあるので、「プラグインが多くなってきた」「簡単な処理だからプラグインに頼りたくない」場合などに、少し探してみて、気に入ったものがあれば利用してみてはいかがでしょうか?

参考記事のご紹介

参考にさせて頂いたサイト様をご紹介

タイトルとURLをコピーしました