Raindrops の htmlソースが醜悪な理由

このレインドロップステーマは、色、背景、枠線、グラデーション等のスタイルが、すべてヘッダーに埋め込まれています。

この事で、htmlソースは、見られたもんじゃありません。

その理由と、ユーザーの方のカスタマイズについて考えていこうと思います。

なぜ、ヘッダーに埋め込まれているのか?

このテーマは、ワードプレス本体からインクルードをしないように作っているから、そうなってしまうのです。

自分でテーマをカスタマイズする人は、WordPress以外のphpで、

などとすれば、WordPress 関数を自由に呼び出したりすることができますが、

公式テーマは、セキュリティを下げる可能性があるために、requireなどのPHP関数を使った呼び出しが禁止されています

しかし、配布を目的にしないで、利用するという場面では、このようなカスタマイズは、ごく一般的に行われていることでしょう。

マルチサイトでなければ、index.phpと同じ階層に

とすることで、外部スタイルを作成できます。

マルチサイトの場合は、テーマファイルの階層で、

e.g lib/design.php

このような形で、スタイルシートの表示ができることを確認できたら、仕上げです。

functions.phpを開き raindrops_embed_meta関数を探します。

以下の行をコメントアウトすれば、ヘッダーに埋め込まれなくなります

ので、後は、

</head>の直前に

スタイルシートを呼び出せば終了です。

Aside

raindrops_embed_meta関数のお仕事

この関数の、もともとの仕事は、シングルページで、cssという名前のカスタムフィールドを作れば、スタイルをヘッダーに自動的に埋め込んだり、metaという名前のカスタムフィールドに、metaタグブロックを埋め込んだり、javascriptという名前のカスタムフィールドで、スクリプトの埋め込みを行うためのものです。

これらの結果は、wp_head()が実行されるタイミングで埋め込まれるので、</head>の直前にlink エレメントを埋め込むというのは、本来の目的から行くと、ちょっとというところがあります。

実際問題公式テーマという観点では、wp_head()は</head>の直前になければならないというルールがあります。

その場合は、wp_enqueque_style()関数を使ってみてください。


コメントは受け付けていません。