web-dev-qa-db-ja.com

親テーマ・スタイルのエンキューで設定されたwp_enqueue_style依存関係を維持する方法

私の親テーマのstyle.cssは、親テーマの一部でもあるbootstrap.cssに依存しています。

親テーマfunctions.phpから:

wp_enqueue_style('bootstrap', get_template_directory_uri().'/css/bootstrap.min.css);
wp_enqueue_style('style', get_stylesheet_uri(), array('bootstrap'));

子テーマを使用する場合、ブートストラップに依存しているにもかかわらず、親のstyle.cssが最初にロードされます。

私の子供のスタイルのエンキュー機能は次のようになります。

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

また、親スタイルをエンキューするときに依存関係を設定した場合でも、それは無視され、style.cssがブートストラップの前にロードされる

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

親テーマを変えずにこれにどう対処するかわからない

2
FlyingNimbus

私はあなたがそれを逃したと確信していますが、依存関係パラメータは文字列ではなく配列であるべきです。

エンキュー機能は次のようになります。

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

または:

function child_enqueue_styles() {
    wp_enqueue_style( 'parent-bootstrap', get_template_directory_uri().'/css/bootstrap.min.css');
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css', array('parent-bootstrap'));
}

参照: wp_enqueue_style

2
Tunji