Ця начинка CSS працює, але це хороша практика?


9

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

Ось приклад коду, який я ставлю безпосередньо в кінці файлу мого плагіна:

<style type="text/css">

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

</style>

Це хороша практика?

Відповіді:


11

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

Однак це може стати дуже стомлюючим, залежно від того, скільки змін ви надаєте користувачеві повноваження. Однак, наскільки я знаю, це "найкраща практика".


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.

Де xxx - це кількість кодів + пробілів, які ви ставите після ?>тегу. Це точно так само, як знайти простір / с або неприйняті коди перед першим <?phpтегом у вашому головному плагіні та після нього.


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 в кінець файлу плагіна. Однак, наскільки це "найкраща практика", я не знаю. :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.