WordPressで特定のページの本文欄を取得してくる方法のメモ

posts_photo

今回は特定の固定ページから本文欄に入力した記述を取得して、そのまま出力するコードをメモしておこうと思います。どんな時に使うかというと、HTMLをそのまま本文欄に入力して簡易的に編集できるようにしたい部分がある場合などですかね。

運用する人が自分でテンプレート作ったならテンプレートいじれば良いんですが、スキルを持ってない人が運用する時にとりあえずテンプレートをいじらなくてもテキスト修正ぐらいは出来るようにしておきたい…という際の折衷案として使ったりします。
変更がありそうな部分をカスタムフィールド化するよりも、HTMLタグがいじれるぶん柔軟な対応が管理画面から出来るので意外と使い勝手は良いです。

get_postを使う

新しく情報元の固定ページを作成して、idを確認したらそれをget_post()に入れて、そこから本文情報を取得します。

<?php 
  $post_id = 3;
  $content = get_post($post_id);
  echo $content -> post_content;
?>

これだけで情報は取得してこられるんですが、このやり方だとパーツとしての情報を入れた固定ページにアクセスすることも出来てしまいます。
なので固定ページ側に万が一アクサスされた場合にリダイレクト用のテンプレートを設定しておくといいんじゃないかと思います。

<?php 
  header('Location: https://リダイレクト先のURL');
  exit; 
?>

…まあ、こんなことしなくても”テーマの編集”で普通にタグはいじれるんですがあそこ詳しくない人が触るのちょっと怖いという話でした…。

エンジニアのためのWordPress開発入門