💡 なぜ <head> に「直書き」してはいけないのか?
HTMLコーディングの延長で、header.php に
<link rel="stylesheet"...>
と直接書いてしまうケースがありますが、WordPressでは以下の理由から
非推奨(NG) とされています。
- プラグインとの衝突回避: 例えばSlickカルーセルやFontAwesomeなど、プラグイン側でも同じライブラリを読み込んでいた場合、直書きだと「二重読み込み」が発生し、表示が崩れたり重くなったりします。
-
子テーマでの上書き:
wp_enqueue_scriptsを使って「ハンドル名(ID)」をつけて管理しておけば、後から子テーマで特定のCSSだけを読み込み解除(wp_dequeue_style)することが可能になります。
🔄 キャッシュ強制更新(filemtime)の魔法
「CSSを直したのに、お客様のパソコンで反映されない!」を防ぐ
ブラウザはCSSやJSをキャッシュ(一時保存)するため、更新しても古いファイルが読み込まれることが多々あります。
当ジェネレーターで「キャッシュをクリア」にチェックを入れると、
ブラウザはCSSやJSをキャッシュ(一時保存)するため、更新しても古いファイルが読み込まれることが多々あります。
当ジェネレーターで「キャッシュをクリア」にチェックを入れると、
filemtime()
というPHP関数を利用し、ファイルの末尾に
「最終更新日時のパラメータ(例:
?ver=1682300000)」
を自動付与します。これにより、ファイルを上書きアップロードした瞬間、確実にお客様のブラウザにも最新版が反映されます。
⚠️ WordPressでの jQuery の正しい扱い方
$(ダラー)がそのまま使えない問題
WordPressには最初から安全なjQueryが同梱されています。そのため、自分でjQuery本体をCDNから読み込む必要はありません。(依存するスクリプトに
ただし、他のライブラリとの衝突を避けるため「noConflictモード」で動いています。JSファイルの中身を書くときは、以下のように全体を囲む必要があります。
WordPressには最初から安全なjQueryが同梱されています。そのため、自分でjQuery本体をCDNから読み込む必要はありません。(依存するスクリプトに
jquery
と書くだけで自動で読み込まれます)ただし、他のライブラリとの衝突を避けるため「noConflictモード」で動いています。JSファイルの中身を書くときは、以下のように全体を囲む必要があります。
// ❌ 動かない書き方
$(function() {
$('.menu').click(function() { ... });
});
// ⭕ 正しい書き方(WordPress用)
jQuery(function($) {
$('.menu').click(function() { ... });
});