[う]WordPressカスタマイズ:wp_head();の編集

WordPressカスタマイズ:wp_head();の編集

ようやくWordPress MUのインストールができたので、今日からテンプレートをカスタマイズしていきます。

さて、カスタマイズ初日の今日、いきなり躓いたのが「wp_head();」という、WordPress独自の関数。


今回は「SandBox」というテーマを基にして、あれこれしてるんですが、HTMLヘッダー内にコイツが現れました。

この関数で吐き出されているのは、rsdファイル、xmlファイル、indexページのURLやgenerator(=WordPress)を現すlinkタグやmetaタグ。基本、HTMLヘッダー内はスッキリさせておきたい私は、indexページやgeneratorといった無駄な(というと言いすぎか?)ものは削除しちゃいたい。

wp_headという関数が定義されている場所を探して、不必要な部分を削除すれば反映されるだろう、function.phpというファイルがある、おそらくここに修正ポイントがあるはず・・・と思って見てみたものの、wp_headが定義されている部分はなし。

どうすりゃいいのサ!と、乗っけから悩んでしまったんですが、調べてみたところ、定義されている部分を削除するのではなく、逆に、削除したい部分をfunction.phpファイル内で指定してあげる必要があるとのこと。

で、

<link rel=’index’ title=’ブログ名’ href=’ブログURL’ />
<meta name=”generator” content=”WordPress 2.8.6″ />

この2行を表示させないようにするために、次の2行をfunction.phpの最下行に追記しました。

remove_action(‘wp_head’, ‘wp_generator’);
remove_action(‘wp_head’, ‘index_rel_link’);

function.phpをサーバーにアップし、ブログのソースを確認した結果、無事、前記のlinkタグ&metaタグは表示されなくなってました(´∀`)

さて、今回はgeneratorとindexページへのlinkタグを非表示にするために、「wp_generator」と「index_rel_link」を指定したわけですが、テーマによっては、他にもwp_headで表示されるものがある様子。

それらについては、wp-includesフォルダ内にあるdefault-filters.phpの167~180行目あたりに、wp_headで吐き出されるものの一覧みたいなものが記載されてるので、それを参考に指定してみるのがよろしいかと。

ということで、wp_headで吐き出されるものの一部を非表示にし、その他イラネと思った直接記述されているタグを削除。これで、HTMLヘッダーを編集することができました。めでたしめでたし。