2017-01-27 34 views
1

私はhtml5blankテーマから子テーマを作成しようとしています。Wordpressの子テーマの親テーマのエンキューファイルを削除する

<?php 
    add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles'); 
    function my_theme_enqueue_styles() { 
     wp_enqueue_style('main-css', get_stylesheet_directory_uri() . '/css/main.css'); 
    } 
?> 

しかし、親のスタイルは引き続き継承されています。これらはstyle.cssnormalize.cssです。これらのファイルはまったく必要ありません。

だから私は、私はwp_dequeue_style().を使用する必要があると言われてきた「親を削除するには、(wp_dequeue_styleでファイルをエンキュー)」デフォルト10よりも後に優先順位を使用してフックを追加これがための第三、オプションのパラメータですadd_action()。 100のような何か。

残念ながら私はこの基本的な仕事に本当に苦労しています。私は試しましたが、うまく動作しません。私は以下を試みたが、明らかにそれは完全に間違っている!

<?php 
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles'); 
function my_theme_enqueue_styles() { 
    wp_enqueue_style('main-css', get_stylesheet_directory_uri() . '/css/main.css'); 
    wp_dequeue_style('parent-style-css', get_template_directory_uri() . '/style.css', 100); 
    wp_dequeue_style('parent-normalize-css', get_template_directory_uri() . '/normalize.css', 100); 
} 
?> 

誰でもこれを手伝うことができますか?私はそれがまっすぐだと確信しているが、私は手がかりを持っていない!

また、私は私の子供にそれらを使用するので、私は親からJSを必要としないと推測している、私はそれらをエンキュー/デキューするメソッドを使用すると思いますか?

EDITは

...これ以上、それのようなものです

<?php 

add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles', 100); 
function my_theme_enqueue_styles() { 
    wp_enqueue_style('main-css', get_stylesheet_directory_uri() . '/css/main.css'); 
    wp_dequeue_style('normalize'); 
    wp_dequeue_style('html5blank'); 
} 

add_action('wp_enqueue_scripts', 'my_theme_enqueue_scripts', 100); 
function my_theme_enqueue_scripts() { 

    wp_deregister_script('conditionizr'); 
    wp_deregister_script('modernizr'); 
    wp_deregister_script('html5blankscripts'); 

    wp_register_script('jquery', get_template_directory_uri() . '/js/jquery-1.12.0.min.js', array('jquery'), '1.12.0'); // Custom scripts 
    wp_enqueue_script('jquery'); // Enqueue it! 

    wp_register_script('responsive-nav', get_template_directory_uri() . '/js/responsive-nav.js', array('jquery'), '1.0.0'); // Custom scripts 
    wp_enqueue_script('responsive-nav'); // Enqueue it! 

    wp_register_script('uniform-js', get_template_directory_uri() . '/js/jquery.uniform.min.js', array('jquery'), '1.0.0'); // Custom scripts 
    wp_enqueue_script('uniform-js'); // Enqueue it! 

    wp_register_script('main-js', get_template_directory_uri() . '/js/main.js', array('jquery'), '1.0.0'); // Custom scripts 
    wp_enqueue_script('main-js'); // Enqueue it! 
} 

?> 
+0

3番目のパラメータを誤った関数に渡しているようです。 – hungerstar

+0

申し訳ありませんが、私はこのようなものを持つ初心者です。私は手がかりを持っていないことを認めて気にしないでください!私は "編集"の下にいくつかのコードを追加しました。私はそれをテストするマシンではないが、今晩はなるだろう。 – user1406440

答えて

1

は、命令は、単純に...あなたはこれを変更するには、この中

add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles'); 

を語りました...

add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles', 100); 

フルメソッドの呼び出しがある...最初の2つだけが必要とされている

add_action(string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1) 

は、他の人は、彼らはあなたが空白のままにしておき場合に使用するデフォルト値を持っています。

また、デキューするには、ファイルの詳細のすべてではなく、親の識別子の名前だけが必要です。

wp_dequeue_style('name-of-identifier-in-parent-theme'); 

間違った関数呼び出しに優先順位を付けるようです。

また、このメソッドを使用すると、javascriptファイルもデキューできます。

+0

"EDIT"の元の投稿にサンプルコードを追加しました。それは良く見えますか? – user1406440

+0

私はCSSとJSを同じ 'add_action'で使っていましたが、それらを分離するのが最善であるかどうかはわかりませんでしたか?また、登録解除/デキューも、エンキューされたオブジェクトから離れた独自のアクションに分割する必要があるため、優先度は設定されていますか? – user1406440

+0

@ user1406440競合しないものはすべてデフォルトの優先度でロードできます。「ベスト」は、後で読み込む必要のあるアイテムを分離して、なぜ残りのアイテムから分離されているかについてのすばらしい明確なコメントを付けて、6か月後にあなた(または他の誰か)がそれがなぜこのように行われたかを知ることができるようにすることです。 –

関連する問題