Tidak bisa mendapatkan Tema Anak untuk memuat style.css versi terbaru

9

Saya menggunakan tema Anak yang diatur dengan benar. Tapi saya tidak bisa mendapatkan perubahan dalam style theme Child.css untuk tercermin di situs. Mencoba mengosongkan cache browser jutaan kali dan itu tidak berhasil!

Saya sudah membuat file template anak dan mereka melebihi yang orang tua baik-baik saja.

Saya perhatikan dalam pandangan sourse ia meletakkan nomor versi di akhir style sheet seperti ini: - style.css? Ver = 3.9.1 walaupun saya tidak membuat versi!

Di situs lain yang saya buat tidak ada versi dari style sheet, jadi mengapa itu dimasukkan secara otomatis ketika saya tidak ingin mengaturnya.

Bagaimana saya bisa memaksanya untuk menggunakan versi terbaru dari file Child style.css dan bukan versi itu?

Inilah url situs saya: - http://www.peterswebservices.co.uk/

pengguna1199360
sumber
1
Caching peramban adalah kemungkinan yang paling jelas, tetapi caching server dapat menyebabkan efek yang sama, dan demikian juga web "akselerator" yang ditawarkan beberapa ISP dan situs independen.
s_ha_dum
Bagian versi yang Anda lihat hanyalah versi wordpress saat ini yang secara otomatis ditambahkan oleh wordpress. Tidak perlu khawatir tentang itu.
Pieter Goosen

Jawaban:

4

Dalam dua puluh empat belas, cobalah menempatkan ini dalam tema anak Anda:

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' );

Ini akan menggantikan stylesheet asli tetapi dengan versi Anda sendiri. Jika Anda menggunakan tema induk yang berbeda, lihat label wp_enqueue_style asli untuk style.css dan duplikat label itu di dalam tema anak Anda. Anda harus mengubah 1.0.0 ke nomor lain setiap kali Anda membuat perubahan (jadi lebih baik untuk lingkungan produksi di mana Anda tidak sering melakukan perubahan).

Untuk menghapus versi dari skrip dan gaya, cobalah ini:

// 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 );
}
whoaitsaimz
sumber
4

Menambahkan fungsi di bawah ini ke 'functions.php' dari tema Anak yang saya gunakan dengan X sangat membantu saya dalam situasi yang sama.

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' ) );
}

Hanya saja, jangan lupa untuk menghapus ini sebelum meluncurkan situs web Anda secara langsung.

Juga keberatan fitur caching dari penyedia layanan hosting Anda untuk membuat efek pembaruan ini.

Menurut penulis :

... itu adalah cara terbaik untuk memasukkan childtheme-stylesheet di WordPress yang dikombinasikan dengan filemtime () untuk memaksa browser memuat versi baru file css. Saya tidak menggunakan filemtime () untuk gaya induk karena saya tidak pernah menyentuhnya dan karena itu filemtime () hanya akan menghabiskan sumber daya.

Sumber : Komentar oleh Daniel pada 22 Oktober 2014 untuk artikel Mencegah Caching CSS : https://css-tricks.com/snippets/wordpress/prevent-css-caching/#comment-1586141

bubencode
sumber
0

Tanpa melihat situs kami tidak dapat membantu mendiagnosis masalah tetapi kejadian umum adalah tema utama css memiliki prioritas di atas css anak, Anda dapat mengesampingkan hal ini dengan menggunakan !importanttag misalnya

#element {
 color:#fff !important;
}

Tag penting menandai css sebagai prioritas di atas file css lainnya dengan baris css yang sama

Beri tahu kami url dan jika ini membantu

Gareth Gillman
sumber
Saya tidak berpikir! Yang penting adalah masalahnya tetapi inilah url saya: - peterswebservices.co.uk Juga ketika saya menggunakan inspektur di Google Chrome dan menelusuri ke file css yang menunjukkan versi sebelumnya tanpa perubahan terbaru.
user1199360
0

Saya hanya memiliki masalah yang sama, dan ternyata menjadi host baru saya memiliki beberapa jenis caching diaktifkan secara default. Saya pergi ke panel kontrol dan membersihkan cache, dan kemudian melayani dengan benar file style.css yang tepat.

The? Ver = 3.9.1 ternyata adalah herring merah (setidaknya untuk saya). Setelah saya membersihkan cache itu masih mengatakan? Ver = 3.9.1, yang tidak ditemukan di mana pun dalam file css saya, tetapi semuanya bekerja dengan baik.

Kit Johnson
sumber
1
Secara ?ver=3.9.1otomatis ditambahkan oleh wordpress. Ini adalah versi wordpress saat ini dan tidak ada hubungannya dengan tema Anda :-)
Pieter Goosen
0

Saya memiliki masalah yang sama dan saya memperbaikinya dengan cara lain selain default.

Pertama saya menemukan file yang harus saya ubah:

wp-includes\theme.php

Ada fungsi yang disebut get_stylesheet_uri

Fungsi saya terlihat seperti ini:

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 );
}
GorgE_MirO
sumber