Không thể tải Theme trẻ em để tải phiên bản mới nhất của style.css


9

Tôi đang sử dụng một chủ đề Con được thiết lập chính xác. Nhưng tôi chỉ không thể nhận được các thay đổi trong style.css chủ đề con sẽ được phản ánh trong trang web. Đã thử làm trống bộ nhớ cache của trình duyệt một triệu lần và nó không hoạt động!

Tôi đã tạo các tệp mẫu con và chúng sẽ vượt qua các tệp gốc.

Tôi đã nhận thấy trong phần xem, nó đặt số phiên bản ở cuối trang mẫu như thế này: - style.css? Ver = 3.9.1 mặc dù tôi chưa tạo phiên bản nào!

Trong một trang web khác tôi đã tạo không có phiên bản của biểu định kiểu, vậy tại sao nó được đặt tự động khi tôi không muốn nó được đặt.

Làm cách nào tôi có thể buộc nó sử dụng phiên bản cập nhật nhất của tệp Child style.css chứ không phải phiên bản đó?

Đây là url trang web của tôi: - http://www.peterwebservice.co.uk/


1
Bộ nhớ đệm trình duyệt là khả năng rõ ràng nhất, nhưng bộ nhớ đệm máy chủ có thể gây ra hiệu ứng tương tự và do đó, "trình tăng tốc" web có thể cung cấp cho một số ISP và các trang web độc lập.
s_ha_dum

Phần phiên bản bạn đang thấy chỉ là phiên bản wordpress hiện tại được tự động thêm bởi wordpress. Không cần phải lo lắng về điều đó.
Pieter Goosen

Câu trả lời:


4

Trong hai mươifourteen, hãy thử đặt điều này trong chủ đề con của bạn:

function add_require_scripts_files() {
 wp_enqueue_style('twentyfourteen-style', get_stylesheet_directory_uri().'/style.css', array(), '1.0.0', "all");        
}
add_action( 'wp_enqueue_scripts', 'add_require_scripts_files' );

Điều này sẽ thay thế biểu định kiểu gốc nhưng với phiên bản của riêng bạn. Nếu bạn đang sử dụng một chủ đề gốc khác, hãy xem nhãn wp_enqueue_style ban đầu cho style.css và sao chép nhãn đó trong chủ đề con của bạn. Bạn sẽ phải thay đổi 1.0.0 thành một số khác mỗi lần bạn thực hiện thay đổi (vì vậy tốt hơn cho môi trường sản xuất nơi bạn không thực hiện thay đổi thường xuyên).

Để xóa phiên bản khỏi tập lệnh và kiểu tất cả, hãy thử điều này:

// remove WP version tag from scripts and styles, best for dev environments
// by Adam Harley https://wordpress.org/support/topic/enqueueregister-script-remove-version
add_filter( 'script_loader_src', 'remove_src_version' );
add_filter( 'style_loader_src', 'remove_src_version' );
function remove_src_version ( $src ) {
  global $wp_version;
  $version_str = '?ver='.$wp_version;
  $version_str_offset = strlen( $src ) - strlen( $version_str );
  if( substr( $src, $version_str_offset ) == $version_str )
    return substr( $src, 0, $version_str_offset );
}

4

Việc thêm chức năng dưới đây vào 'Hàm.php' của chủ đề Con tôi đã sử dụng với X đã giúp tôi rất nhiều trong tình huống tương tự.

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(), NULL, filemtime( get_stylesheet_directory() . '/style.css' ) );
}

Chỉ cần đừng quên loại bỏ điều này trước khi ra mắt trang web của bạn trực tiếp.

Cũng lưu ý các tính năng lưu trữ của nhà cung cấp dịch vụ lưu trữ của bạn để thực hiện cập nhật này.

Theo tác giả :

... đó là cách tốt nhất để đưa biểu định kiểu con vào WordPress kết hợp với filemtime () để buộc các trình duyệt tải các phiên bản mới của tệp css. Tôi đã không sử dụng filemtime () cho kiểu cha mẹ vì tôi không bao giờ chạm vào nó và do đó filemtime () sẽ chỉ lãng phí tài nguyên.

Nguồn : Nhận xét của Daniel vào ngày 22 tháng 10 năm 2014 đối với bài viết Ngăn bộ đệm CSS : https://css-tricks.com/snippets/wordpress/prevent-css-caching/#comment-1586141


0

Không nhìn thấy trang web, chúng tôi không thể giúp chẩn đoán sự cố nhưng một sự cố phổ biến là chủ đề chính css đang được ưu tiên hơn css con, bạn có thể ghi đè điều này bằng cách sử dụng !importantthẻ, ví dụ:

#element {
 color:#fff !important;
}

Thẻ quan trọng đánh dấu css là ưu tiên hơn bất kỳ tệp css nào khác có cùng dòng css

Hãy cho chúng tôi biết url và nếu điều này giúp


Tôi không nghĩ! Quan trọng là vấn đề nhưng đây là url của tôi: - peterswebservice.co.uk Ngoài ra khi tôi sử dụng trình kiểm tra trên Google Chrome và xem chi tiết tệp css hiển thị phiên bản trước mà không có thay đổi mới nhất.
dùng1199360

0

Tôi cũng gặp vấn đề tương tự, và hóa ra máy chủ mới của tôi có một loại bộ nhớ đệm được bật theo mặc định. Tôi đã đi đến bảng điều khiển của mình và xóa bộ đệm, và sau đó nó đã phục vụ đúng tệp style.css.

? Ver = 3.9.1 hóa ra là cá trích đỏ (ít nhất là đối với tôi). Sau khi tôi xóa bộ đệm, nó vẫn báo? Ver = 3.9.1, không tìm thấy ở đâu trong tệp css của tôi, nhưng tất cả đều hoạt động tốt.


1
?ver=3.9.1được tự động thêm bởi wordpress. Đây là phiên bản hiện tại của wordpress và không liên quan gì đến chủ đề của bạn :-)
Pieter Goosen

0

Tôi đã có cùng một vấn đề và tôi đã sửa nó theo một cách khác ngoài mặc định.

Đầu tiên tôi định vị tệp mà tôi cần thay đổi:

wp-includes\theme.php

Có một hàm gọi là get_stylesheet_uri

Chức năng của tôi trông như thế này:

function get_stylesheet_uri() {
    $time = time();
    $stylesheet_dir_uri = get_stylesheet_directory_uri();
    $stylesheet_uri = $stylesheet_dir_uri . '/style.css?v='.$time;
    /**
     * Filter the URI of the current theme stylesheet.
     *
     * @since 1.5.0
     *
     * @param string $stylesheet_uri     Stylesheet URI for the current theme/child theme.
     * @param string $stylesheet_dir_uri Stylesheet directory URI for the current theme/child theme.
     */
    return apply_filters( 'stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
}
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.