The GIS Professional Group

カスタムフィールドによるページの URL 転送

2012/9/30 (日)

WordPress でニュース系の投稿ページを作成する場合、ページ自体には記事の実体が存在する必要はなく、単に別の URL へ転送したいだけの場合もあることでしょう。URL 転送用プラグインだと Redirection などがありますが、都度記事とは別の設定を行うと、記事自体の削除や元ページの URL 変更への対応が面倒です。 そんな場合のことを考え、カスタムフィールドを定義し、ページ内に URL を記述してページ転送する方法を作って作ってみました。元ネタはこちら

方法

  1. template_redirect でフックする
  2. is_singular() 関数などで転送する対象のページかどうかを判定
  3. 関数内でカスタムフィールド値を取得し、その値で wp_redirect() 関数を実行

サンプルコード

以下のコードを functions.php に書き加えます。このコード例では URL が正しくない場合無限ループするので注意してください。

2013-10-10追記
アーカイブページの場合の考慮を追加。orで正常に動作しなかったので条件文を入れ子にしてます。

  • B!