Tại sao CSS chủ đề con tôi được gọi hai lần?


18

Tôi đã tạo một chủ đề con theo tài liệu WP và thêm chức năng cần thiết

<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style')  );
}

Bằng cách nào đó tôi kết thúc với 2 tham chiếu đến biểu định kiểu chủ đề con tôi:

<link rel='stylesheet' id='twentythirteen-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />

<link rel='stylesheet' id='child-style-css'  href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />

Tại sao vậy?


Bạn có thể đăng thông tin tiêu đề của tệp style.css trong chủ đề con không?
cybmeta

Câu trả lời:


17

Bài đăng này được liên kết từ bài đăng này mà tôi đã cập nhật với những thay đổi trong bài đăng này

Cảm ơn bạn đã đưa ra vấn đề này. Tôi đã nhanh chóng thử nghiệm kịch bản và kiểu con thực sự được tải hai lần.

Khi tôi cập nhật codex cách đây một thời gian, tôi đã chắc chắn rằng kiểu con sẽ được tải sau kiểu cha, không bao giờ thực sự tính đến việc này thực sự được thực hiện theo mặc định và mã được đưa ra sẽ thực sự tải biểu định kiểu con hai lần.

Điều này có thể dễ dàng được sửa chữa bằng cách đơn giản loại bỏ $prioritykhỏi chức năng và loại bỏ phần enqueue cho chủ đề con. Tôi đã kiểm tra lại tất cả mọi thứ, và nó hoạt động. Sẽ thật tuyệt nếu một vài người có thể hợp tác này.

Trong lúc này, tôi sẽ cập nhật codex và liên kết đến bài đăng này.

Đây là mã làm việc

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

BIÊN TẬP

Đối với bất cứ ai mà bài đăng này không hoạt động, xin vui lòng xem bài viết này . Bạn sẽ cần phải đi và xem làm thế nào chủ đề phụ được thêm các kiểu. Mã trong câu hỏi này hoàn toàn tin tưởng rằng các kiểu trong cha mẹ được tải theo đúng cách mà chúng nên có. Nếu không, hãy xem các lựa chọn thay thế trong câu trả lời được liên kết và thử chúng


1
Sẽ kiểm tra. Có vẻ như WP không quan tâm đến bản định kiểu được tải hai lần hoặc có một số lý do mà chúng ta đang thiếu.
mmcglynn

Như là về chủ đề, tôi đã gặp một số vấn đề khi sử dụng phương pháp này, chi tiết ở đây .
dMcClintock

Biểu định kiểu sẽ không được tải hai lần nếu bạn sử dụng cùng một 'id'. Nhưng điều này tạo ra một vấn đề khác - tôi muốn giải quyết biểu định kiểu con để nó tải sau css khác để tôi có thể ghi đè lên nó ... Nhưng điều này chỉ sao chép kiểu (hoặc bỏ qua nếu sử dụng cùng một 'id')
php-b- học sinh lớp

1
Vấn đề chính của phương pháp này, mà tôi có thể nói, là kiểu con không kéo theo số phiên bản của chủ đề con. Nó dường như kéo theo số phiên bản của chủ đề gốc, không phải lúc nào cũng lý tưởng.
Garconis

@ Pieter-Goosen Tôi làm theo các ví dụ ở Child Themes trong đó sử dụng số phiên bản của các child theme: wp_get_theme()->get('Version'). Tuy nhiên, cuối cùng tôi đã sao chép CSS cho phiên bản WP và phiên bản chủ đề con: <link rel="stylesheet" id="bushwick-style-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=4.9.8"...><link rel="stylesheet" id="bushwick-child-css" href="/wordpress//wp-content/themes/bushwick-child/style.css?ver=1.3.6"...>. Điều gì sẽ là giải pháp trong những trường hợp này?
IvanRF
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.