ど素人から毛を生やす。<延>

固定ページを呼び出す方法いろいろ

Web > WordPress > 固定ページ 2014年9月17日(最終更新:8月前)

2014年9月17日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
週明けからいやに眠いなぁと思っていたら貧血がやってきた餅。です。

ところで、貧血と低血圧は症状が似ていても原因は全く違うそうですね。
僕はどっちなんだろう。貧血貧血言ってるけど、低血圧の方のような気が。

そんなことよりWordPress。

「違うテンプレート上で固定ページの内容を表示させたい」って結構よくあることかと。

例えば、category.phpにカテゴリの概要を表示させたいけど、
descriptionでは勝手が効かないから固定ページで編集したい、とか。

例えば、トップページにサイトの概要を乗っけたいけど、
テンプレ直書きじゃなくて固定ページを使いたい、とか。

最近、そういう案件が増えたので、ここで一度やり方をまとめておくことにします。

Ⅰページ情報の取得について

①ページIDからページ情報を取得する場合


$post = get_page( ページID );

②ページのスラッグから情報を取得する場合


$post = get_page_by_path( 'スラッグ' );

Ⅱ取得した情報の表示方法について

①簡単に、指定した情報だけ欲しい場合


if( isset( $post ) ) {
echo $post->post_title;
echo wpautop($post->post_content);
<?php } ?>

if( isset( $post ) )は「$postにnull以外が入っているとき(または$postが未定義のとき)」の条件分岐です。
なお、post_contentをechoする場合は、基本的にはwpautopを介すべきです。

②the_title()などの表示関数を使いたい場合


if( isset( $post ) ) {
setup_postdata($post); ?>
<?php if(has_post_thumbnail()) : the_post_thumbnail(); endif ?>
<?php the_content(); ?>
<?php } ?>

setup_postdata($post)を経ることで、the_title()などの表示関数が使えます。
複雑な表示方法を使いたい場合は、こちらで行うと良いでしょう。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (`・ω・´) 役に立った (0)
  • (・∀・) 参考になった (1)