web-dev-qa-db-ja.com

子供のテーマスタイル繰り返し

Style.cssとfunctions.cssを使って子テーマを作成し、子テーマのstyle.cssを編集して最高のスタイルを作ります。しかし、一部のページでは効果がなく、子テーマのstyle.cssが別のバージョンで繰り返されています。

style.css

#masthead {
    top: 0px;
    background: black !important;
    border-top: 2px solid rgba(250,105, 0, 1);
    border-bottom: 2px solid rgba(250,105,0, 1);
}

functions.php

<?php
function my_theme_enqueue_styles() {

    $parent_style = 'parent-style';

    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>

child theme style.css repeated

1

私はあなたがこれを試すことができると思います:

<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );

}
?>

やってみなよ。私は役に立つことを願っています。

1
Jignesh Patel

あなたが見逃しているのは、上のfunctions.phpコードスニペットであなたがあなた自身の親スタイルに名前を付けられなかったということです

上から4行目に投稿したコードでは、実際の親スタイルの名前に従ってカスタマイズする必要があります。 例としてこの行

$parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.

Diviを使用する場合、は次のようになります

$parent_style = 'divi-style'; // This is 'divi-style' for the Divi theme.

あなたのケースで 'parent-style'の代わりにそこに何を入れるべきかを知るためには、あなたの親テーマフォルダに行き、そして元の(あるいは今やparent)のfunctions.phpを開いて、そして "wp_enqueue_style"を探してください。あなたはこのようなものを見つけるでしょう:

wp_enqueue_style( 'divi-style', get_stylesheet_uri(), array(), $theme_version );

これは私がDiviテーマを使用している場合です。関数の最初の属性を見てください。それがあなたが必要とするものです。他の例:二十五十五の場合、最初の属性は次のようになります: 'twentyfifteen-style'

そのため、親スタイルで使用されているタグ名が見つかったら、それに応じて4行目を更新してください。

お役に立てば幸いです。

0
Bar6

子テーマを開発するとき、wordpress環境は子テーマフォルダの中にstyle.cssファイルを自動的にロードします。したがって、それはあなたのfunctions.phpファイルで親スタイルをエンキューすることだけが必要です。

add_action('wp_enqueue_scripts', 'enqueue_parent_styles' );

function enqueue_parent_styles() {
   wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}

ここでも子テーマからスタイルシートをエンキューしようとすると、wordpressは子style.cssファイルを2回ロードします。

0
marwyk87