Этот CSS Stuffing работает, но это хорошая практика?

9

Я пытаюсь включить динамический CSS в свой плагин, я искал где-нибудь, но не нашел ни одного случая, который похож на то, что я делаю. И что я использую для этого, так это добавление файла css непосредственно в конец моего php-файла плагина после закрывающего тега php ?>без добавления каких-либо других вещей, таких как вызов wp head и т. Д.

Вот пример кода, который я поместил прямо в конец файла моего плагина:

<style type="text/css">

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

</style>

Это хорошая практика?

Ari
источник

Ответы:

11

Вы можете использовать wp_add_inline_style () для добавления в таблицу стилей, которую вы уже определили, например, в свой плагин. Таким образом, экран параметров или другие пользовательские настройки могут повлиять на окончательный вывод стиля.

Однако это может стать очень утомительным, в зависимости от того, сколько изменений вы предоставляете пользователю. Тем не менее, это "лучшая практика", насколько я знаю.

GhostToast
источник
1
Итак, есть функции, которые я не знаю в WP. :) +1 С курса.
gmazzap
2

Конечно, это не очень хорошая практика, так как Wordpress будет считать это ошибкой плагина. Он выведет сообщение об ошибке при активации плагина следующим образом:

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.

Где ххх - это количество кодов + пробелы, которые вы ставите после ?>тега. Это то же самое, что найти пробелы / с или непринятые коды перед первым <?phpтегом в вашем основном плагине и / или после него.

Ari
источник
1

Я полагаю, что можно динамически писать CSS-файл с использованием PHP, но вам нужно узнать об этом больше, я сам о нем мало знаю. Я планирую сделать это в ближайшее время, так как я заметил, что люди помещают МНОГО CSS в тему, над которой я работал. Это плохая практика во многих отношениях, поэтому лучше избегать, где это возможно. К сожалению, есть только 24 часа в день ...!

Дэн
источник
1

Если вам нужно добавить динамический CSS и у вас нет уже добавленной таблицы стилей, к которой вы хотите добавить ее, вы можете подключить и вывести ее в wp_headхуке действия:

<?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 в конец вашего файла плагина. Однако насколько это «лучшая практика», я не знаю. :)

jjeaton
источник