別の固定ページの内容を取得して表示させる
前回は、フロントページやアーカイブページ等のエディターで編集出来ないページに対してエディターから投稿して反映させる内容
ショートコードで別の固定ページの内容を表示させる方法
を 覚書メモとして投稿したが、
今回は別の固定ページのアイキャッチ画像やタイトル、リンクなどを取得して表示させるという課題が新たに出てきた。
今回は、表示させたいページを取得して表示させる方法の 覚書メモ
表示させたい固定ページを取得・表示させるための記述
※例)ページスラッグ名が『load-page』の場合
<?php $load_page = get_page_by_path('load-page'); //ページスラッグ名を指定。 $page = get_post($load_page); $image_id = get_post_thumbnail_id($page->ID); //アイキャッチ画像の情報を取得 $title = get_the_title($page->ID); //ページタイトル $link = get_the_permalink($page->ID); //取得したページのurl //出力 echo '<h2>'.$title.'</h2>'; //load-pageのタイトルを表示 echo '<a href="'.$link.'">'; //load-pageのURL echo $pagetxt = $page->post_content; //load-pageのコンテンツ内容 echo '<img src="'.get_the_post_thumbnail_url($page->ID).'" alt="'.get_the_post_thumbnail_caption($page->ID).'">'; //load-pageのアイキャッチ画像表示:get_the_post_thumbnail_caption()でアイキャッチ画像にキャプションのテキストを表示。 echo '</a>'; ?>
これで別の固定ページの内容を取得してCSSも設定出来るので、色々応用出来るかなと?
Advanced Custom Fieldsの投稿オブジェクト
ACFでの投稿オブジェクトから他の投稿記事の情報を取得して表示させたい時の場合と
記述方法は違えど基本的な考え方は同じ?