テンプレート内に固定ページの内容を表示させる

縦に長いページを作る際に、全てテンプレート内で解決させるのは大変だったので
ページごとに区切ってしまいたかったのです。

$page_info = get_page_by_path('固定ページのスラッグ');
$page = get_post($page_info);
echo $page->post_content;

こんな風にすると固定ページに記述したものが表示されました。

※追記 上記コードではショートコード等が反映されない問題点を発見。

$my_post = get_page_by_title ( '固定ページのスラッグ' );
echo apply_filters ( 'the_content', $my_post -> post_content );

このようにすることでショートコードも動きました。

※追記 完全に間違えてました。

get_page_by_titleじゃなくてget_page_by_pathじゃないとタイトルから持ってきてしまいます。

$my_post = get_page_by_title ( '固定ページのタイトル' );
echo apply_filters ( 'the_content', $my_post -> post_content );

$my_post = get_page_by_path ( '固定ページのスラッグ' );
echo apply_filters ( 'the_content', $my_post -> post_content );

が正解です。

WORDPRESS

Posted by bistro