Bu CSS Doldurma Çalışır, Ama Bu İyi Bir Uygulama mı?


9

Eklentime dinamik bir css eklemeye çalışıyorum, herhangi bir yerde aradım ama yaptığımla benzer bir durum bulamıyorum. Ve bunu yapmak için kullandığım ?>wp kafa vb arama gibi başka şeyler eklemeden kapanış php etiketi sonra doğrudan benim eklenti php dosyasının sonuna bir css dosyası ekleyerek olduğunu.

İşte benim eklenti dosya sonuna doğrudan koymak kod örneği:

<style type="text/css">

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

</style>

Bu iyi bir uygulama mı?

Yanıtlar:


11

Eklentiniz gibi, daha önce tanımladığınız bir stil sayfasına eklemek için wp_add_inline_style () kullanabilirsiniz . Bu şekilde bir seçenekler ekranı veya diğer kullanıcı ayarları son stil çıktısını etkileyebilir.

Ancak, kullanıcıya ne kadar değişiklik yaptığınıza bağlı olarak bu çok sıkıcı olabilir. Ancak bildiğim kadarıyla "en iyi uygulama".


1
Ve böylece WP'de bilmediğim fonksiyonlar var. :) +1 Kurs dışı.
gmazzap

2

Tabii ki bu iyi bir uygulama değil, çünkü Wordpress tarafından eklenti hatası olarak kabul edilecektir. Bu gibi eklenti aktivasyonunda bir hata mesajı verir:

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.

Burada xxx, ?>etiketten sonra koyduğunuz kodların + boşlukların miktarıdır . <?phpAna eklentinizdeki ilk etiketten önce veya sonra boşluk / lar veya kabul edilmeyen kodları bulmakla aynıdır .


1

PHP kullanarak dinamik olarak bir CSS dosyası yazmanın mümkün olduğuna inanıyorum, ancak daha fazla bilgi edinmek zorunda kalacaksınız, kendim hakkında çok fazla şey bilmiyorum. Yakında yapmayı planlıyorum, insanların üzerinde çalıştığım bir tema üzerine bir sürü CSS koyduğunu fark ettim. Birçok açıdan kötü uygulama, mümkün olduğunca kaçınmak en iyisidir. Ne yazık ki günde sadece 24 saat var ...!


1

Dinamik CSS eklemeniz gerekiyorsa ve eklemek istediğiniz bir stil sayfanız yoksa, wp_headişlem kancasına takıp çıktısını alabilirsiniz :

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

CSS'yi sadece eklenti dosyanızın sonuna eklemeyin. Ancak bu "en iyi uygulama" olduğu sürece bilmiyorum. :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.