みなさん,こんにちは。
シンノユウキ(shinno1993)です。
今回はWordPressでショートコードを使って,記事中に自分の年齢を表示する方法を紹介します.記事中に年齢を表示する需要はそれほど大きくないかもしれませんが,動的なテキストを生成する例として紹介したいと思います.
では行きましょう!
前回のまとめ:最も簡単なショートコードの表示
まずは前回のまとめから振り返っていきましょう.
前回の記事はこちらです:
前回はたった4行でできる最も簡単なショートコードを紹介しました.以下がそのコードです:
function hello_func(){ return "Hello, World!"; } add_shortcode( 'hello', 'hello_func' );
Hello, World!を表示するだけの関数:hello_funcを作成し,ショートコード:[hello]
から呼び出してみましたね.
この機能だけでも,繰り返し書く必要のあるテキストなどがこのショートコードを記述するだけで済むようになるので,使い所によっては非常に便利です.
しかし,やはりショートコードの魅力の1つが動的なテキストの生成です.今回は年齢を題材として動的なテキストを生成するショートコードを作成してみたいと思います.
年齢を算出する関数
さっそくコードを紹介します.以下のようになります:
function calc_age_func(){ $now = date("Ymd"); $birth = "19930125"; return floor(($now-$birth)/10000); } add_shortcode('my_age', 'calc_age_func');
calc_age_func という関数で,自分の生年月日(私の場合は1993年1月25日)から年齢を算出しています.ショートコード名は my_age ですので,[my_age]
とすることで,そのショートコードを記述した場所に年齢を表示できます.
floor(($now-$birth)/10000)
が少し難しいかもですが,これはこの記事が読まれた日付$now
から誕生日$birth
を引いて10000で割り,floor
で小数点以下を切り捨てています.この記事が表示された日(20241122)を$now
とするとつまり,以下のようになっています:
= 310997 / 10000
= 31.0997
froor関数で小数点を切り捨てて,
年齢 = 31(歳)
実際に使ってみよう!
では実際に使ってみましょう.[age]
と記事内に記述するだけでOKです.以下に,私は[my_age]歳です
と入力してみます.
私は31歳です
どうでしょう,ちゃんと表示されてますか?
この年齢は記事が表示される度に自動で更新されるので,25歳(2018/12/24現在)とか書かなくても良いということになります.
今回は年齢に限りましたが,他に色々な処理が行えますので,ぜひお試し下さい.
まとめ
今回は年齢を題材にして動的にテキストを生成するショートコードを作成してみました.
次回は記事の一覧を表示するショートコードを作成してみたいと思います.
連載目次
- たった4行でOK!最も簡単にWordPressでショートコードを作成する方法
- WordPressでショートコードを使って自分の年齢を表示してみよう!現在のページ
- WordPressでショートコードを使って新着記事一覧を表示してみよう!
- WordPressでショートコードを使ってカテゴリやタグの新着記事一覧を表示させる方法
- WordPressでショートコードを使って連載目次を作成する方法