wp_head()
は、wp_head
アクションフックを起動する関数です。 Wordpressはアクションフックとフィルタに基づいています。つまり、プラグインやテーマでこれらのフックを使って設定を追加できるだけでなく、削除する機能もあります。これのほとんどはプログラムテンプレート(PHPで)ではなく、htmlテンプレートとして実行されますが、必ずしもそうではありませんが、あなたの場合はそうです。
ほとんどの場合、スクリプトとスタイルは、アクションフックwp_enqueue_scripts
によってエンキューされます。ここでスクリプトの削除を実行する必要があります。
問題は、削除する前にスクリプトが登録されていた名前を知る必要があることです。例えば、jQueryは'jquery'
として登録されています。かなり簡単ですね。ただし、すべてのスクリプトが簡単になるわけではないので、コードをブラウズして、それらのスクリプトの登録されたハンドル(名前)を見つける必要があります。スタイルは少し簡単です。ブラウザでページを調べると、スタイルのid属性は'example-style-css'
に設定されます。 Wordpressは '-css'を登録スタイルとエンキュースタイルに追加するので、スタイルの名前は実際には 'example-style'です。彼らはそのようなあなたのページに含まれませんので、あなたのテーマののfunctions.phpで
、スクリプトやスタイルをデキューすることができます
function stack_46669800_dequeue(){
wp_dequeue_script('the-script-you-want-to-remove');
wp_dequeue_style('the-style-you-want-to-remove');
}
add_action('wp_enqueue_scripts','stack_46669800_dequeue',100);
は(ここでは
add_action
機能に...これを100に注目してください大部分は10であるため、ここで優先度を100に変更したので、不要なスクリプトをエンキューするものよりも後で発生する可能性があります。デキューできませんまだエンキューされていないもの)
これは、最初にキューに入れられないようにするのは良いでしょう。キューから? 私の次の問題は、編集したり削除したりするインラインCSS/JSスクリプトがいくつかあることです。 – snmueller89
@ snmueller89 - 親テーマを編集する/カスタマイズするのではなく、子テーマのスクリプト/スタイルをデキューすることができます。やって!)。 – Matthew
@ snmueller89 "...それを防ぐのが良いのではないか..."いいえ、これはWordpressの仕組みではないからです。デフォルトでは多くのスクリプトがキューに入れられています/ Wordpressコア、そしてプラグインは独自のスクリプトもキューに入れることができます。あなたのテーマがロードされる前にすべてが発生します。 – Spartacus