WordPress高速化環境「KUSANAGI」のプライム・ストラテジー株式会社 累計稼働台数5万台突破!超高速CMS実行環境「KUSANAGI」稼働中 本サイト処理速度 0.000

WordPressのヘッダーにフィードのlink要素を自動出力する条件

WordPressには、RSSなどのフィードのURLをhead要素に自動的に出力してくれる機能がありますが、 @glatyou さんのブログ( http://webcre8.jp/ )でhead要素内にフィードのlink要素が出ていないということだったので、その原因を探ってみたのでした。

フィードURL出力サンプル

	

そもそも、head要素のテンプレート(大抵、header.php)には、フィードのURLに関する記述は一切ありません。
では、どのような仕組みで出力しているかというと、バージョンによって多少異なりますが、下記のようになっています。

WordPress 2.8, 2.9の場合

  1. 利用中のテーマの functions.php に、automatic_feed_links(); が記述されていれば、wp_head にて feed_links 関数が実行されるようフックの登録が行われる。
  2. wp_headフックにて feed_links 関数が実行され、フィードURLのlink要素を出力

WordPress 3.0, 3.1の場合
(正式リリースされていませんが、3.2もこの方式になりそうです)

  1. wp-includes/default-filters.php が読み込まれた段階で、wp_head にて feed_links 関数が実行されるようフックの登録が行われる。
  2. wp_headフックにて feed_links 関数が実行され、利用中のテーマが automatic-feed-links をサポートしていれば、フィードURLのlink要素を出力

具体的に何をチェックすべきかについては、下記3点になろうかと思います。(他にもファイルが壊れているなどの可能性もあるにはありますが。)

WordPress 2.8, 2.9の場合

  1. テンプレートファイルに wp_head(); が記述されているか
  2. テーマのfunctions.php に automatic_feed_links(); の記述があるか
  3. 利用しているプラグインが、feed_links のフックを削除したりしていないか

WordPress 3.0, 3.1の場合

  1. テンプレートファイルに wp_head(); が記述されているか
  2. テーマのfunctions.php に add_theme_support( ‘automatic-feed-links’ ); の記述があるか
  3. 利用しているプラグインが、feed_links のフックを削除したりしていないか

今回の場合は、自作のテーマにfunctions.php に、

	add_theme_support( 'automatic-feed-links' );

の記述がなかったことが原因でした。

自分で1からテーマの作成を行う場合は、憶えておくと良いかと思います。

「革新的サービス」

超高速CMS実行環境「KUSANAGI」は東京都主催「世界発信コンペティション」で
東京都革新的サービス特別賞を受賞しました →プレスリリース

お問い合わせ

サービスの導入・検討にあたってのご質問・ご相談は、
お問い合わせフォームからお気軽にお問い合わせください。

お電話でのお問い合わせ

03-6551-2996

受付時間:9:00 ~ 18:00
休業日:土曜日・日曜日・祝日・年末年始

皆さまのお困りごとをお気軽にお聞かせください