Isian CSS Ini Berhasil, Tetapi Apakah Ini Praktek Yang Bagus?

9

Saya mencoba untuk memasukkan css dinamis dalam plugin saya, saya telah mencari di mana saja tetapi tidak menemukan kasus yang mirip dengan apa yang saya lakukan. Dan apa yang saya gunakan untuk melakukannya adalah dengan menambahkan file css langsung ke akhir file php plugin saya setelah tag php penutupan ?>tanpa menambahkan hal-hal lain seperti memanggil kepala wp dll.

Berikut adalah contoh kode yang saya masukkan langsung ke akhir file plugin saya:

<style type="text/css">

   .innertrow { background-color: <?php get_options('css_value');?>}

</style>

Apakah itu praktik yang baik?

Ari
sumber

Jawaban:

11

Anda dapat menggunakan wp_add_inline_style () untuk menambah stylesheet yang sudah Anda tentukan, seperti di plugin Anda. Dengan cara ini layar opsi atau pengaturan pengguna lain dapat memengaruhi keluaran gaya akhir.

Namun, itu bisa sangat membosankan, tergantung pada berapa banyak perubahan yang Anda berikan pada pengguna. Namun, itu adalah "praktik terbaik" sejauh yang saya tahu.

GhostToast
sumber
1
Dan ada functioncs yang saya tidak tahu di WP. :) +1 Tentu saja.
gmazzap
2

Tentu saja itu bukan praktik yang baik, karena akan dianggap sebagai kesalahan plugin oleh Wordpress. Ini akan menampilkan pesan kesalahan pada aktivasi plugin seperti ini:

The plugin generated xxx characters of unexpected output during activation. If you notice headers already sent messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.

Di mana xxx adalah jumlah kode + spasi yang Anda tempatkan setelah ?>tag. Itu sama dengan mencari spasi / kode yang tidak diterima sebelum <?phptag pertama di plugin utama Anda dan atau setelahnya.

Ari
sumber
1

Saya percaya mungkin untuk secara dinamis menulis file CSS menggunakan PHP, tetapi Anda harus mencari tahu lebih banyak tentang itu, saya sendiri tidak tahu banyak tentang itu. Saya berencana untuk segera melakukannya, karena saya perhatikan orang menaruh BANYAK CSS pada tema yang sedang saya kerjakan. Ini praktik buruk dalam banyak hal, jadi sebaiknya hindari jika memungkinkan. Sayangnya hanya ada 24 jam sehari ...!

Dan
sumber
1

Jika Anda perlu menambahkan CSS dinamis dan tidak memiliki stylesheet yang sudah ditambahkan yang ingin Anda tambahkan, Anda dapat menghubungkan dan mengeluarkannya dalam wp_headkait tindakan:

<?php
function wpse_111373_output_plugin_css() {
    ?>
    <style type="text/css">
        .innertrow { background-color: <?php get_option('css_value'); ?>;}
    </style>
    <?php
}
add_action( 'wp_head', 'wpse_111373_output_plugin_css' );

Jangan hanya menambahkan CSS ke akhir file plugin Anda. Namun, sejauh ini menjadi "praktik terbaik" saya tidak tahu. :)

Jonaton
sumber