WordPressで共通情報を一元管理して、別ページに呼び出す仕組み

WordPress

2015.09.12

ホームページを作成するときに、同じ情報を使用するのにページが違うという理由で全く同じ情報をいくつものページに書くのはイケてない。
使い回したいパーツであったり、メールアドレスや電話番号などの共通情報は一元管理しておいて、変更があればそこだけ修正すればOKというのが理想的ですよね。
でも残念ながら、WordPressには共通情報を使い回したいというときに、これといって仕組みが用意されていません。
ということで、共通情報を一元管理しておいて、必要に応じて呼び出して使う方法を紹介します。

共通情報を呼び出す仕組み

呼び出す方法は今のところ2種類あって(自分のノウハウとして)、ページをまるごと呼び出す方法とカスタムフィールドの情報を呼び出す方法があります。
ページ呼び出しは、使い回したいパーツをページとして作成しておき、別ページから呼び出して使います。
カスタムフィールド呼び出しは、メールアドレスや電話番号などをカスタムフィールドに保存しておき、別ページから呼び出して使います。
別ページから呼び出すと書きましたが、基本的にどこからでも呼び出すことができます。
 

ページ呼び出しのやり方

1. 共通情報を一元管理するページを作成する

まず、共通情報をページとして作成します。
作成するページは、postでもpageでもカスタム投稿タイプでもOKです。
このとき、ページに分かりやすいスラッグ名をつけてください。このスラッグは呼び出すときの目印になります。
ページidで呼び出すことも可能ですが、スラッグ名にしておけば、呼び出すときに分かりやすいし、別のサイトでもこの仕組みを利用したいとなったときにページidを調べる必要がありません。

今回の想定
・管理ページは固定ページに作成する。
・スラッグ名は、common-infoとする。
 

2. ページの情報を呼び出す関数を作成する

以下のコードをfunctions.phpに書く。

 

3. ページの情報を呼び出すショートコードを作成する

以下のコードをfunctions.phpに書く。

 

4. 作成した関数とショートコードの使い方

ここからは、ページ呼び出し関数とページ呼び出しショートコードの使い方の説明です。
 

テーマファイル内での使い方

テーマファイル(php)内で呼び出すには、関数を使用します。

引き数はget_page_by_pathと同じです。

引き数
第1引数:呼び出したいページのスラッグ(今回は、common-info)
第2引数:戻り値の種類(OBJECTにしておけば、OK)
第3引数:ポストタイプ(今回は、page)
今回の想定では、固定ページの情報を呼び出すので、第2、第3引き数は省略してもかまいません。
 

管理画面の編集画面で使用する方法

呼び出したいページの編集画面で以下のショートコードを使用します。

引き数は、get_post_content関数を呼び出すときと同じです。
こちらも今回の想定においては、第2、第3引き数は省略してもかまいません。
 

カスタムフィールド情報呼び出しのやり方

共通情報を一元管理するページを作成する