ひとつの記事を抜粋じゃなくそのまま表示したい(カスタム投稿の場合)
こういう時は、迷わず次のようなコードを使っていた。
<div class="info"> <h2><?php echo get_the_title(345); ?></h2> <p> <?php $page_data = get_page_by_path('greetings'); $page = get_post($page_data); $content = $page->post_content; echo apply_filters('the_content', $content); ?> </p> </div>
これで思い通り表示されるので、問題ないと思っていた。
ところが・・・
これが使えるのは、投稿ページのトップに表示することを指定した記事と、固定ページのみだということが判明!
わざわざ太字かつ赤字にしちゃったけど、正直それぐらい衝撃的だった。
今回、カスタム投稿なるものを作ってしまったため、そしてその記事をトップページに表示したかったため、この問題と丸一日格闘したことを書いておこうと思う。
結論から言うと、次のコードをトップページとなるhome.phpに記入することで解決した。
<div class="info info1"> <h2><?php echo get_the_title(342); ?></h2> <?php $page_id = 342; //表示したい固定ページのページID $alternative_post = get_post( $page_id ); echo apply_filters('the_content', $alternative_post->post_content); ?> </div>
おや? もしかしてこの方が簡単だぞ…。
パスとなる’スラッグ’書かなくて良いもんね。
めでたし。