[WordPress] ショートコードを使って、自分のブログ名とURLを表示してみる

アイキャッチ画像


記事内に商品のプロモーションを含む場合があります。

Nプログラマ(@Nprog128)です。

Wordpressを使っている時に、プロフィールプライバシーポリシーなどの文中にブログ名URLを書くことがあります。

その中で、以下の課題が出てきました。

  • (1) 直接記述は大変(コピー&ペーストであっても)
  • (2) ブログ名やURLを変更した時に、書き直すを忘れる

(2)の場合は手動で書き直す場合、修正箇所が多いと忘れる箇所が出てきます。

そこで、ショートコードを使ってブログ名とブログURLを表示できるようにしてみました。

目標
WordPressのショートコードを使い、記事内にブログ名とURLを表示する。

準備

ブログの名前とURLの取得方法

ブログの名前とURLを取得するには、WordPressのget_bloginfo関数を使います。

blockquoteの画像

get_bloginfo( string $show = ”, string $filter = ‘raw’ )

blockquoteの画像

第一引数(show)に取得したい情報を文字列で渡せば、それに対応した値を返してくれます。

なプ

今回はブログ名とURLが欲しいので、以下の文字列を第一引数に渡します。

引数取得できる情報
nameブログ名
urlブログURL

ショートコードの登録関数

ショートコードを登録するには、add_shortcode関数を使います。

なプ

引数はcallableなので、関数も渡せます。

blockquoteの画像

add_shortcode( string $tag, callable $callback )

blockquoteの画像

ブログ名とURLを取得する関数をショートコードに登録する

準備が整ったので、ショートコードへ登録していきます。

使用しているテーマの中にあるfunction.phpに、登録する処理を書いていきます。

バックアップを!

function.phpを編集するので、バックアップを取ってから編集しましょう。

登録方法は2通りあります。

今回は、無名関数を使う場合、使わない場合の両方のパターンで書いてみます。

方法1: 無名関数を使う

自分はPHP7以上のサーバを使うことが多いので、こちらのやり方で書くことが多いです。

なプ

関数名や名前の衝突を考えなくていいので、個人的にラク。

無名関数版 コードを開く
無名関数版
 1<?php
 2// ショートコードを登録(ブログ名を取得)
 3add_shortcode('bloginfo_name', function() {
 4    return get_bloginfo('name');  // ブログ名
 5});
 6
 7// ショートコードを登録(ブログURLを取得)
 8add_shortcode('bloginfo_url', function() {
 9    return get_bloginfo('url');  // ブログURL
10});

方法2: 無名関数を使わない

無名関数を使わない時は、こういう感じになります(方法1と処理は同じ)

関数を定義してから、その関数名をadd_shortcodeに渡す、という流れになります。

なプ

こちらの書き方の方がよく見かけますかね。

無名関数を使わない版 コードを開く
無名関数を使わない版
 1<?php
 2// ブログ名を取得
 3function sample_get_blog_name() {
 4    return get_bloginfo('name');  // ブログ名
 5}
 6// ショートコードへ登録
 7add_shortcode('bloginfo_name', 'sample_get_blog_name');
 8
 9// ブログURLを取得
10function sample_get_blog_url() {
11    return get_bloginfo('url');  // ブログURL
12}
13// ショートコードへ登録
14add_shortcode('bloginfo_url', 'sample_get_blog_url');

方法1 もしくは 方法2を使って、2つの関数をショートコードに登録することができました。

  • bloginfo_name: ブログ名を取得するショートコード
  • bloginfo_url: ブログURLを取得するショートコード

記事内で使う

先程作成したショートコードを記事の中に記述していきます。

WordPressの記事編集で、文章の中にこのように書いてみます。

1[bloginfo_name] のURLは [bloginfo_url] です。

例として、ブログ名がNPメモリア サンプル版、URLがhttps://sample.nprog256.netとします。

この状態でプレビューで表示結果を確認すると、以下のようになります。

1NPメモリア サンプル のURLは https://sample.nprog256.net です。

WordPressの設定画面でブログ名やURL変更すれば、このショートコードを使っている箇所全てに変更が反映されるようになります。

なプ

これで手動での修正漏れの心配がなくなった。

再利用可能ブロック

Gutenbergを使っている場合なら、ショートコードを作成しなくても似たようなことができます。

ブログ名やタイトル名をWordPressの管理画面から変更した場合、再利用可能ブロックだけを修正すれば、利用しているブロック全てに変更を反映することが可能です。

ただ、再利用可能ブロックを解除している場合は、そのブロックは反映されないので注意が必要です。

おわりに

今回は、WordPressのショートコードを使ってブログ名とURLを記事内に表示する、という内容でした。

これでガリガリと記事内にブログ名やURLを記述することができます。

なプ

とは言っても、そんなに多くはないと思うけど。。。

同じ記述はなるべく一箇所にまとめておきたいトコロですね。

それでは、このへんで。
バイナリー!

\ ちょっとお買い物 /