Sebelum saya mulai, saya ingin mengakui bahwa ada beberapa artikel yang sangat bagus yang ditargetkan pada cara membuat skrip kondisional berdasarkan pada konten halaman / posting.
- Pengembangan Plugin WordPress - Cara Memasukkan CSS dan JavaScript Dengan Persyaratan Dan Hanya Saat Dibutuhkan Oleh Tulisan
- Cara memuat JavaScript seperti WordPress Master
Ini bagus, tetapi mereka jauh lebih maju daripada apa yang ingin saya lakukan.
Saya merasa jawabannya menggunakan is_page()
fungsi bawaan ( kodeks ), tetapi ketika saya mencoba menggunakannya, situs tersebut rusak, atau tidak berfungsi.
Saya pikir saya hanya menjalankan logika kondisional di tempat yang salah.
Inilah yang saya coba tambahkan ke functions.php saya:
function wpse39130_register_more_stylesheets() {
wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' );
}
add_action( 'init', 'wpse39130_register_more_stylesheets' );
function wpse39130_conditionally_enqueue_my_stylesheet() {
// only enqueue on product-services page slug
if ( is_page( 'products-services' ) ) {
wp_enqueue_style( 'stylesheet_name' );
}
}
add_action( 'wp_enqueue_scripts', 'wpse39130_conditionally_enqueue_my_stylesheet' );
Ketika saya menghapus bagian kondisional itu, stylesheet berhasil enqueued jadi saya tahu itu berfungsi.
css
conditional-content
wp-enqueue-style
Evan Mattson
sumber
sumber
Jawaban:
Saya menyalin paste kode Anda ke lingkungan dev saya, tidak mengubah apa pun kecuali nama halaman, dan itu berfungsi dengan baik. Apakah Anda yakin itu tidak enqueued dan Anda hanya salah menunjuk atau bahwa halaman tidak disebutkan salah atau sesuatu?
sumber
Apa yang Anda miliki benar - Anda hanya mengaitkannya dengan tindakan yang salah. Coba tindakan "wp" alih-alih "init". Saat init berjalan, is_page () belum berfungsi dengan benar.
EDIT: Saya salah. Saya pikir Anda telah add_my_stylesheet doyan ke init, tetapi Anda tidak. is_page harus bekerja dari aksi enqueue_scripts. Maaf ... lanjutkan ...
sumber
Saya mencoba mengikuti kode yang sama dan melihat apakah saya bisa mendapatkan hasil yang sama, apa yang saya perhatikan is_page () tidak berfungsi seperti yang diharapkan. jadi saya mengikuti variabel global $ post dan memeriksa nama kategori / siput dan yang terakhir menggunakan teks sederhana dibandingkan untuk memutuskan tindakan.
Nilai kategori jika hanya satu kategori (bukan subkategori) akan menjadi
Untuk Sub kategori Anda harus mengisi variabel berikut
Sekarang berdasarkan kebutuhan Anda, gunakan kode di bawah ini, seperti yang saya gunakan untuk memeriksa nama subkategori:
Kode Lengkap:
Contoh: * Tidak Ada CSS Ekstra http://whatsq.com/category/gst16/
* CSS ekstra dengan Latar Belakang dari kategori di atas hanya http://whatsq.com/information-technology/shopping-information-technology/mothers-day-gift-plan-show-mom-the-love-with-flowers-and- dan lebih /
sumber