Funziona questa roba CSS, ma è una buona pratica?


9

Sto cercando di includere un css dinamico nel mio plugin, ho cercato ovunque ma non trovo alcun caso simile a quello che faccio. E quello che uso per farlo è aggiungendo un file css direttamente alla fine del mio file php plugin dopo la chiusura del tag php ?>senza aggiungere altri elementi come chiamare wp head ecc.

Ecco l'esempio del codice che ho inserito direttamente alla fine del file del mio plugin:

<style type="text/css">

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

</style>

È una buona pratica?

Risposte:


11

Puoi usare wp_add_inline_style () per aggiungere a un foglio di stile che hai già definito, come nel tuo plugin. In questo modo una schermata delle opzioni o altre impostazioni dell'utente possono influire sull'output dello stile finale.

Ciò potrebbe diventare molto noioso, tuttavia, a seconda di quanti cambiamenti stai dando all'utente il potere. Tuttavia, è la "migliore pratica" per quanto ne so.


1
E quindi ci sono funzioni che non conosco in WP. :) +1 Fuori rotta.
gmazzap

2

Ovviamente non è una buona pratica, poiché sarà considerato un errore del plugin da Wordpress. Emetterà un messaggio di errore all'attivazione del plugin in questo modo:

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.

Dove xxx è la quantità di codici + spazi inseriti dopo il ?>tag. È lo stesso che localizzare spazio / i o codici non accettati prima del primo <?phptag nel plug-in principale e o dopo.


1

Credo che sia possibile scrivere dinamicamente un file CSS usando PHP, ma dovresti scoprirne di più, non ne so molto da solo. Sto pianificando di farlo presto, poiché ho notato che la gente mette MOLTO CSS sul tema su cui stavo lavorando. È una cattiva pratica in molti modi, quindi è meglio evitare dove possibile. Purtroppo ci sono solo 24 ore al giorno ...!


1

Se è necessario aggiungere CSS dinamici e non è già stato aggiunto un foglio di stile al quale si desidera aggiungerlo, è possibile collegarlo e riprodurlo wp_headnell'hook dell'azione:

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

Non solo aggiungere il CSS alla fine del file del plug-in. Tuttavia, per quanto si tratti di una "best practice" non lo so. :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.