2017-10-10 13 views
1

私はWordPressには新しく、ページのhtmlヘッドの中にロードされている不必要なjs/cssファイルを削除したい。 WP-コンテンツ/テーマ/ X /フレームワーク/ビュー/ヘッダ/ Base.phpという中WordPressのテンプレート "X":<head>の中のhtmlを変更する

私は、次のコードを見つけました:

<head> 
    <?php wp_head(); ?> 
</head> 

これは明らかに、すべての私を助けていません。私はWordPressの "wp_head()"関数が次に何をするのか分かりません。私はちょうどどこか "頭"のためのシンプルなHTMLを書く/編集することができるいくつかのシンプルなファイルはありませんか?

答えて

2

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に変更したので、不要なスクリプトをエンキューするものよりも後で発生する可能性があります。デキューできませんまだエンキューされていないもの)

+0

これは、最初にキューに入れられないようにするのは良いでしょう。キューから? 私の次の問題は、編集したり削除したりするインラインCSS/JSスクリプトがいくつかあることです。 – snmueller89

+1

@ snmueller89 - 親テーマを編集する/カスタマイズするのではなく、子テーマのスクリプト/スタイルをデキューすることができます。やって!)。 – Matthew

+0

@ snmueller89 "...それを防ぐのが良いのではないか..."いいえ、これはWordpressの仕組みではないからです。デフォルトでは多くのスクリプトがキューに入れられています/ Wordpressコア、そしてプラグインは独自のスクリプトもキューに入れることができます。あなたのテーマがロードされる前にすべてが発生します。 – Spartacus

関連する問題