ページに他の固定ページを埋め込む
職場で、「2つの固定ページに貼ってあるカレンダー画像を毎月更新する」という作業をしています。
今のページはPHPファイルにimgリンクが直接書かれているのですが、担当している方がHTMLを使えないため、画像URLを更新することができず、「画像を同ファイル名でサーバにアップロードする」という方法でカレンダー画像そのものを更新していました。
数か月運用してみたのですが、キャッシュの都合でどうしてもリアルタイムで更新されない問題が生じました。
そこで、固定ページに他の固定ページを埋め込むという方法を考えました。
この方法だと画像を貼ったページはWordpressのダッシュボードで画像を変更することができるので、HTMLがわからない方でも画像の更新が難しくありません。
せっかくなのでこの方法をメモしておきたいと思います。
イメージ的にはiframeと同じです。
Wordpressだとiframeがうまく表示されないことがあるようなので、こちらの方法を使うと良いかと思います。
1.埋め込むための固定ページを用意する
まず、埋め込むための固定ページを用意します。
今回は画像のみのページを作ります。
文章を追加することももちろん可能です。
①[固定ページ]⇒[新規作成]で固定ページを作成
②編集画面で画像を貼り付ける
画像をアップロードするか、メディアにすでにアップロードしている画像を選びます。
③画像のサイズを設定
画像はそのままのサイズで表示されますので、表示したいサイズをきちんと指定してください。
④準備ができたら、公開
画像のみ表示したい場合は、画像の下に余計なブロックや改行を入れてしまうとページの縦サイズが大きくなってしまいますので、お気を付けください。
2.埋め込むための固定ページのIDを取得する
次に、先ほど作成したページのIDを取得してください。
IDは、ソースのbodyタグに表示されています。
3.埋め込みたいページのPHPファイルに設定をする
埋め込みたいページのPHPファイル内で、埋め込みたい場所に以下の記述をします。
$page_id = 999; //表示したい固定ページのページID
$alternative_post = get_post( $page_id );
echo apply_filters(‘the_content’, $alternative_post->post_content);
?>
赤字の部分に、2.で取得した埋め込みたい固定ページのIDを入力して下さい。
これで埋め込みが完了しました。保存して、表示を確認してください。
4.画像を更新する
埋め込んだ画像を更新したい場合は、ダッシュボードで1.で作成したページを表示し、画像を差し替えます。
画像を一度削除して貼りなおしてもよいですが、
貼ってある画像をクリックすると上部にメニューが出てきますので、[差替]で簡単に画像を差し替えることができます。