表示設定で投稿ページに任意の固定ページを設定した場合にそのページタイトルを得る方法

非常に長いタイトルですが、書いているとおりのTipsです。

まず、その方法。

$page_for_posts = get_option( 'page_for_posts' ); 
$my_page = get_page($page_for_posts);

echo $my_page->post_title;

get_option関数の引数にpage_for_postsを指定することで、表示設定で投稿ページに指定した固定ページのIDを得る事ができます。

後は、そのIDを使って、get_pageでpageオブジェクトを取ってきて、ページのタイトルをエコーしました。

なぜ、こんなことをするのか

WordPressをカスタマイズする人は、WordPressでブログじゃないホームページを作ることは、よくあるでしょう。

ブログじゃないホームページだけどWordPressは元々ブログのCMSだから、投稿機能を使ってブログもサイト内部に作る事ができます。

その時、すべての投稿を表示するブログのトップページをどのように作るかというと方法は2つ。

  1. 固定ページのカスタムテンプレートを作成して投稿一覧を表示する
  2. 設定>表示設定で、投稿ページに任意の固定ページを設定する

普通は、この2つでしょう。

どちらが、良いのかというと、どちらでもいいです。

ただ僕は、Webサイト内にブログじゃないページ(固定ページ)がメインのサイト(企業のホームページとか)に、ブログを含めた場合、ブログの記事はブログだとわかりやすくしたかった。

それで、ブログ一覧やアーカイブページ、ブログの個別記事などを表示した時に、ページタイトルに「ブログ」であることを表示しようと思いました。

テンプレートに、直接「ブログ」と書けばいいではないか

テンプレートに直接書いた場合、変更や修正ができるのは僕だけです。

例えば、ブログを「スタッフブログ」というタイトルで使いたい人もいれば、「社長ブログ」で使いたい人もいるでしょう。企業のWebサイト内のブログでも、Webサイトのタイトルとは別にブログのタイトルをつけたい人もいるはずです。

また、マルチサイトで複数のサイトを作成し、1つのテンプレートを使い回ししている場合は、テンプレートに直接書き込むと、サイト毎に異なるタイトルをつけることが出来なくなります。

固定ページのタイトルを、そのままブログのタイトルとして使用する

表示設定で、投稿ページに指定する任意の固定ページにも、タイトルをつけます。そのページタイトルをブログのタイトルにします。

その固定ページは、カスタムメニューでも使用するでしょう。

そして、上記の方法で、ブログのトップページや、アーカイブページにも使用するようにしておけば、固定ページのタイトルを変更すれば、ブログタイトルもすべて変更されます。

つまり、クライアント側で、ブログタイトルを自由に設定できるようになります。

できるだけ、テンプレートに固定的な情報を書き込まないという志向なので、こんなことをしています。

2012/03/21 | WordPress

関連記事

新着記事

no image

積木

積み木は木工職人黒澤のハンドメイド2段43ピース【積み木・ 積木・ ...

記事を読む

no image

スロープトイ

参考スロープトイのおすすめ|人気の木製や組み立て式のものも ...

記事を読む

no image

木製おもちゃ

木製おもちゃのだいわ http://www.daiwakens...

記事を読む

no image

【WordPress】カスタム投稿タイプの定義-カスタム投稿タイプアーカイブを作らない

カスタム投稿タイプの定義のあれこれ。 カスタム投稿タイプの投稿一覧ペ...

記事を読む

no image

【WordPress】メディアを追加からの”画像を編集”でプレビューできない

【WordPress】メディアを追加からの"画像を編集"でプレビューで...

記事を読む

コメント/トラックバック

トラックバック用URL:

この投稿のコメント・トラックバックRSS




管理人にのみ公開されます

PAGE TOP ↑