特定の固定ページのコンテンツのみ取得する – WordPress

覚え書き

例えば、サイト内の任意の場所に何かのコンテンツを挿入したい場合、そしてそれが定期的に変更する必要がある場合などに簡単に使える手。
ファイルを何処かにおいてインクルードすればいいじゃんって言えばそれまでですけど、FTPソフトを使ったり、サーバーにログインしてファイルマネージャーを触るとか出来ない人が触る事も多々ある訳です。そうしておかないとCMS的な意味も少し薄れますしね。

という事で、WordPressの管理画面で専用のページを作っておいて、そのコンテンツ(本文)のみ使用する方法です。
テンプレートファイルに以下のソースを書けばOK。

$pageID = '100'; //専用に作ったページのID
$pagedata = get_page($pageID);
echo ('<div class="insert_block">');
echo $pagedata->post_content;
echo ('</div>');

この用途では、分岐させる可能性が高いので、

if(is_page('1000') || is_page('2000')){
$pageID = '100'; //専用に作ったページのID
$pagedata = get_page($pageID);
echo ('<div class="insert_block">');
echo $pagedata->post_content;
echo ('</div>');
}else{}

などなど加えればよいかと。

もちろん通常のフローでサイト内に固定ページが表示されるテンプレートを利用している場合は、このページへのリンクが非表示になる処理が必要です。
非公開でも取り込めるので、それが一番簡単ですね。