Tech Racho エンジニアの「?」を「!」に。
  • 開発

[WordPress] テーマ内でさまざまなコンテンツを切り替えて表示する

WordPressでも、ページを上手く使えばTOPページなどの各種ページを作って、それぞれにテーマを割り当てることが出来ます。

これらのページをCMS管理する際、ページコンテンツをすべて1ページにしてしまうと、編集者がうっかりHTMLを書き換えて、レイアウトが崩れてしまう恐れがあります。
そこで、「新着情報」「ごあいさつ」のように1ページ内の各種コンテンツごとにページを用意すれば、安全に編集できます。

テーマファイル内で特定のページの内容を出力する

テーマファイル内で特定ページの内容を表示するには、以下のようにします。

<?php
 $page = query_posts('pagename=news');
 echo $page['page_content'];
?>

このようにquery_postsを使えばOKなのですが、ページID指定の p=2 といった書式では、ページを取得できません(投稿のみ対応しているようです)。

かならず、pagename=newsのようにページスラッグを指定する必要があります。

テーマファイルとページが強く結合してしまい、美しい使い方とは言えませんが、WordPressで綺麗さを追求すると痛い目を見るので・・・

CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。