Saya baru-baru ini merilis sebuah plugin, WP Coda Slider , yang menggunakan kode pendek untuk menambahkan slider jQuery ke setiap posting atau halaman. Saya menambahkan halaman opsi di versi berikutnya dan saya ingin memasukkan beberapa opsi CSS tetapi saya tidak ingin plugin menambahkan pilihan gaya sebagai CSS inline. Saya ingin pilihan ditambahkan secara dinamis ke file CSS ketika dipanggil.
Saya juga ingin menghindari menggunakan fopen atau menulis ke file untuk masalah keamanan.
Apakah hal seperti ini mudah dicapai atau lebih baik saya menambahkan pilihan gaya langsung ke halaman?
plugin-development
css
options
Chris_O
sumber
sumber
wp_enqueue_style()
(danwp_enqueue_script()
) dengan nama fungsi alih-alih nama file dan membuat fungsi saya menghasilkan CSS (atau JS) tetapi masih memilikinya akhirnya dimasukkan melalui stylesheet yang ditautkan. Sejauh yang saya tahu ini tidak mungkin denganwp_equeue_*()
fungsi. Mungkin kita harus menyerahkan tiket trac?Jawaban:
Gunakan
wp_register_style
danwp_enqueue_style
untuk menambahkan stylesheet. JANGAN hanya menambahkan tautan stylesheet kewp_head
. Gaya antrian memungkinkan plugin atau tema lain untuk memodifikasi lembar gaya jika perlu.Lembar gaya Anda dapat berupa file .php:
my-stylesheet.php akan terlihat seperti ini:
sumber
Secara dinamis membangun file CSS dan kemudian memuatnya menambah beban kinerja BESAR untuk apa yang seharusnya menjadi bandwidth yang sangat rendah untuk menambahkan file CSS, terutama jika ada variabel dalam CSS yang akan diproses melalui WP. Karena ini adalah dua file berbeda yang dibuat untuk satu memuat halaman, WP memulai dua kali dan menjalankan semua permintaan DB dua kali, dan itu adalah kekacauan besar.
Jika slider Anda hanya akan berada di satu halaman, dan Anda ingin gaya diatur secara dinamis, maka taruhan terbaik Anda adalah menambahkan blok gaya ke header.
Dalam urutan kinerja:
sumber
Beginilah biasanya saya melakukannya:
sumber
Saya mengalami kesulitan dengan semua rekomendasi sejenisnya - mungkin saya agak tebal, atau mungkin kontributor telah kehilangan sentuhan umum.
Saya memutuskan untuk mengkode ini di file php plug-in: -
Tampaknya berhasil. Itu hanya memuat pada halaman-halaman yang menggunakan plugin. Itu dimuat setelah tag h1 yang baik-baik saja oleh saya. Saya tidak bisa melihat bagaimana ini bisa lebih efisien atau lebih jelas.
.... tapi mungkin saya salah - saya memang mengatakan saya agak tebal.
sumber
<link>
elemen di kepala halamanPembaruan sejak Wordpress 3.3
Ada fungsi yang disebut wp_add_inline_style yang dapat digunakan untuk menambahkan gaya secara dinamis berdasarkan opsi tema / plugin. Ini dapat digunakan untuk menambahkan file css kecil di kepala yang harus cepat dan efisien.
sumber