私は子テーマを作成してインストールしましたが、それが正確にどのように機能するのかわかりません!
たとえば、親テーマでは、以下のコードがあります。
.header {
margin-top: 10px;
margin-bottom: 10px;
width: 300px;
height: 150px;
background: white;
border-width: 5px;
}
そして私は幅を含めないようにしたいです。背景と境界の幅(背景と境界を必要としないため)を変更し、 "margin-top:10px;"を変更します。 "margin-top:15px;"まで子供のテーマで。
だから通常子供のテーマで私は持っているでしょう:
.header {
margin-top: 15px;
margin-bottom: 10px;
height: 150px;
}
主題は私がそうするならWordPressが自動的に最初に子テーマのstyle.css
をチェックし、そして次に親テーマのstyle.css
をチェックするということです。そのため、不足しているコード(width:300px;、background、およびborder-width)が実行されます。
私は何をすべきか?私は少し混乱しています。親テーマから不要な各行を削除する必要がありますか。しかし、更新後にこれを実行すると、再度追加されます。
あなたは正しいです、そのWordPressはあなたの親テーマからstyle.cssファイルを最初にロードし、そしてあなたの子テーマからstyle.cssをロードします。これらはCSS自体がどのように機能するのかという理由で、あなたがオーバーライドしたいルールを特別にオーバーライドしなければならないことを意味します。
これが意味することはあなたがあなたの子供テーマのstyle.cssの中でCSSを修正する必要があるということです:
.header {
margin-top: 15px;
margin-bottom: 10px;
width: 100%;
height: 150px;
background: none;
border-width: 0;
}
あなたはあなたの子テーマフォルダにheader.phpファイルをコピーして親テーマからスタイルシートのインポートを探して削除したいかもしれません。スタイルシートを含めたい場合は、次のように子テーマのstyle.cssにインポートします。
/* Import from parent theme styles first */
@import url('/path-to-parent-theme/style.css');
その後、CSSをすべて追加します。あなたのルールは、親からのもののいずれかを上書きします。
スタイルシートのインポートについては、functions.phpを参照してください。このように見えるかもしれません:
wp_register_style( 'style',get_stylesheet_directory_uri() . '/style.css', false );
wp_enqueue_style( 'style' );
あなたはあなたが必要なものをコメントすることができます。あなたはwp_deregister_styleとwp_dequeue_styleを使うことができますが、私はそれらが働くようになったことは一度もありません。