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

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

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

このページは2014.9.17に作成されています。時代の流れとそぐわない可能性があったり、僕が今以上のど素人だった頃の記事だったりするので、新しい記事を探してみるのも良いかもしれません。

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

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

そんなことよりWordPress。

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

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

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

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

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

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

$post = get_page( ページID );

 

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

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

変数を$postにするのは、表示でthe_title()などの表示関数を使いたいためです。

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

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

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

if( isset( $post ) )は「変数にnull以外が入っているとき」の条件分岐です。
また、こちらの場合は$postにする必要はありません。変数名はご自由に変更おkです。
post_contentをechoする場合は、wpautopが必要なときとそうでないときがあります。

 

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

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

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

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