MTで柔軟な新着情報を実装
2010年8月13日
新着情報の部分をMTを使って実装することは良くあると思います。
しかし、ただのエントリーの一覧吐き出しだけにしておくと、運営後にクライアントからよく下記のような要望がくることが多いです。
- サイトの内のページに直接リンクしたい
- 文言はタイトルではなく自由に設定したい
- 外部サイトに直接リンクしたい
- PDFファイルを直接リンクしたい
- だけど、新規でページを作ってリンクもしたい
といった感じです。
MTでそれらの要望に応えるためのロジックを考えてみました。
画面遷移
- TOP→詳細ページ(通常)
- TOP→外部URL(URLの設定があれば実行)
- TOP→PDFリンク(URLの設定があれば実行)
仕様
新着情報で利用するブログにカスタムフィールドでテキストエリア(URLの項目)を作成。
PDFのアップロードしたファイルのパス、外部リンクをテキストエリア(URLの項目)に入力。
トップページ部分
新着情報の文言はページのタイトルではなく概要を利用したり、カスタムフィールドで用意したりする。
リンク先の条件分岐
- カスタムフィールドに入力がある場合(URLに入力がある場合)
→リンク先をカスタムフィールドのURLに設定 - カスタムフィールドに入力がない場合(URLに入力がない場合)
→リンク先をページのパーマリンクに設定
詳細ページ部分
URLを設定しても空ページが作成されてしまうので、head内のmetaタグでリダイレクトをかける。
<meta http-equiv="Refresh" content="0; URL=http://example.jp/" />
上記のURL部分にカスタムフィールドのURLを利用する。
こうすることで、万が一生成されたページにアクセスされてもカスタムフィールドのURLにリダイレクトをかけることができるようになる。
空ページができちゃうのがどうも腑に落ちませんが・・・。
まだ、実際に実装確認していませんが、理屈上はいけそうな感じです。