Недавно я выпустил плагин WP Coda Slider , который использует шорткоды для добавления ползунка jQuery к любому сообщению или странице. Я добавляю страницу параметров в следующей версии, и я хотел бы включить некоторые параметры CSS, но я не хочу, чтобы плагин добавлял варианты стилей как встроенный CSS. Я хочу, чтобы варианты выбора динамически добавлялись в файл CSS при его вызове.
Я также хотел бы избежать использования fopen или записи в файл из-за проблем безопасности.
Легко ли выполнить что-то подобное, или мне лучше добавить стили непосредственно на страницу?
plugin-development
css
options
Chris_O
источник
источник
wp_enqueue_style()
(иwp_enqueue_script()
) с именем функции вместо имени файла, и чтобы моя функция генерировала CSS (или JS), но все же в конечном итоге включала его через связанную таблицу стилей. Насколько я знаю, это невозможно сwp_equeue_*()
функциями. Может быть, мы должны представить трак билет?Ответы:
Используйте
wp_register_style
иwp_enqueue_style
для добавления таблицы стилей. НЕ просто добавьте ссылку на таблицу стилейwp_head
. Стили очереди позволяют другим плагинам или темам изменять таблицу стилей при необходимости.Ваша таблица стилей может быть .php файлом:
my-stylesheet.php будет выглядеть так:
источник
Динамическое построение файла CSS и его загрузка добавляет ОГРОМНУЮ нагрузку на производительность при добавлении файла CSS с очень низкой пропускной способностью, особенно если в CSS есть переменные, которые будут обрабатываться через WP. Поскольку для загрузки одной страницы создаются два разных файла, WP запускается дважды и выполняет все запросы к БД дважды, и это большой беспорядок.
Если ваш слайдер будет только на одной странице, и вы хотите, чтобы стили устанавливались динамически, тогда вам лучше всего добавить блок стиля в заголовок.
В порядке исполнения:
источник
Вот как я обычно это делаю:
источник
У меня были трудности со всеми рекомендациями этого рода - возможно, я немного толстый, или, возможно, участники потеряли общий контакт.
Я остановился на кодировании этого в php-файле плагина: -
Вроде работает. Он загружается только на тех страницах, которые используют плагин. Он загружается после тега h1, что хорошо для меня. Я не вижу, как это может быть более эффективным или более ясным.
.... но, возможно, я ошибаюсь - я сказал, что был немного толстым.
источник
<link>
элементы вОбновление с Wordpress 3.3
Существует функция wp_add_inline_style, которую можно использовать для динамического добавления стилей на основе параметров темы / плагина. Это можно использовать для добавления небольшого файла CSS в голову, который должен быть быстрым и эффективным.
источник