2017-05-04 27 views
1

私の親のテーマは、スタイルシートを持っている:アプリ/資産/ CSS /私は私が設定したテーマをカスタマイズしておりますので代わりに/style.cssWordPress子テーマ:親テーマから子テーマにカスタムスタイルシートを追加するにはどうすればよいですか?

にあるいくつかの理由で、テーマのスタイルのすべてが含まれていますscreen.css子供のテーマをアップするが、私の子供のテーマのstyle.cssに加えた変更はうまくいかない。

必要な変更を加えるために、app/assets/css/screen.cssスタイルシートを自分の子テーマに追加するにはどうすればよいですか?

+0

あなたの子供のテーマになるかもしれませんstyle.cssファイルがapp/assets/css/screen.cssより先に読み込まれている可能性があります - あなたのWordPress関連の質問をWordpress Stack Exchange – Maqk

答えて

-1

CSSリソースがが彼らのために真のない(存在する場合、代わりに親の子からロードされます)テンプレートとテンプレートのルールではありません。

これは、あなたが子供-themeからスタイルシートをエンキューする方法である。

function add_custom_stylesheet() { 
    wp_enqueue_style(
     'your-file', 
     get_stylesheet_directory_uri() .'/your-file.css' 
    ); 
} 
add_action('wp_enqueue_scripts', 'add_custom_stylesheet'); 

あなたが親のテーマが登録したスタイルシートの登録を解除したい場合は、その登録したフックを使用して登録を解除する必要があります(名前)とwp_print_stylesフック時に登録解除をバインド:

function deregister_unwanted_parent_styles() { 
    wp_deregister_style("hook-name"); 
} 
add_action('wp_print_styles', 'deregister_unwanted_parent_styles'); 

あなたはソースで見て、目からエンディング-cssを減算することにより、フックを見つけることができますe <link> s idid="screen-styles-css"の場合、フック(ハンドル)はscreen-stylesです。フック名を調べる別の方法は、親テーマでwp_enqueue_style()呼び出しを見つけることです。

-1

現在親テーマのスタイルシートをエンキューする推奨方法は、wp_enqueue_scriptsアクションを追加し、子テーマのfunctions.phpwp_enqueue_style()を使用することです。

style.cssファイルを適切なハンドラでロードすると、複数の親テーマの依存関係をすべて維持する必要があるstyle.cssファイルが複数あると言われます。 parent_handlerはそれはそれはスタイルシートだ登録する際に、親テーマで使用したのと同じ$ハンドルです

if (! function_exists('prefix_theme_enqueue_scripts')) { 
    function prefix_theme_enqueue_scripts() { 
     wp_enqueue_style('parent_handler', get_template_directory_uri() . '/app/assets/css/screen.css'); 
     wp_enqueue_style('child_handler', 
      get_stylesheet_directory_uri() . '/style.css', 
      array('parent_handler') 
     ); 
    add_action('wp_enqueue_scripts','prefix_theme_enqueue_scripts'); 
    } 
} 

。あなたの親のテーマをハンドラにチェックしてください

関連する問題