У меня есть файл style.php
:
<?php header('Content-Type: text/css');?>
#div{
background:<?php echo get_option('bgcolor');?>;
}
Это не работает. Но когда я делаю вот так, то работает.
<?php header('Content-Type: text/css');?>
#div{
background: <?php echo 'blue';?>;
}
В чем может быть проблема?
Вот мой mainfile.php
<?php
function test(){
global get_option('bgcolor');?>
<input type="text" id="bgcolor" name="post_popup_settings[bgcolor]" value="<?php echo get_option('bgcolor');?> " />
<?php
}
add_action('admin_head','test');
Это на самом деле в разделе администратора.
Функции WordPress доступны только в том случае, если WordPress загружен. Если вы вызываете свой
style.php
напрямую, вы не можете использовать функцию WordPress.Один простой способ загрузить WordPress для вашей таблицы стилей, управляемой PHP, — добавить конечную точку в WordPress: настраиваемый, зарезервированный URL-адрес, куда вы загружаете файл шаблона.
Чтобы попасть туда, вам нужно:
Зарегистрируйте конечную точку в
'init'
с помощьюadd_rewrite_endpoint()
. Давайте назовем его'phpstyle'
.Подключитесь к
'request'
и убедитесь, что переменная конечной точки'phpstyle'
не пуста, если она установлена.Подключитесь к
'template_redirect'
и доставьте свой файл вместо файла шаблона по умолчаниюindex.php
.Для краткости я соединил все три простых шага в функции один em> в следующем демонстрационном плагине.
Плагин PHP Style
Установите плагин, посетите
wp-admin/options-permalink.php
один раз, чтобы обновить правила перезаписи, и добавьтеstyle.php
в свою тему. р>Пример
style.php
Откройте
yourdomain/phpstyle/
. Output:Но если вы перейдете
yourdomain/phpstyle/blue/
, то вывод будет таким:Таким образом, вы можете использовать конечную точку для доставки разных таблиц стилей с одним файлом в зависимости от значения
get_query_var ('phpstyle')
.Вы можете сделать это, загрузив вывод через
admin-ajax.php
, но лучший подход — использовать константу WordPressSHORTINIT
, чтобы вы могли загрузить только необходимые функции, но вам нужно найти и загрузитьwp-load.php
. Чтобы сделать это:В этот момент вам нужно убедиться, что вы включили все остальные файлы
wp-includes
, которые вам нужны, чтобы получить параметры своей темы — которые будут варьироваться в зависимости от вашего состояния. сохранение и, таким образом, доступ к тем. (Вам, вероятно, нужно будет добавить больше в этот список, чтобы избежать фатальных ошибок, но по ходу фатальные ошибки сообщат вам, какие файлы вам нужно добавить.) Например.Затем, когда у вас есть все необходимые функции, вы можете вывести CSS с помощью этих функций … например.
Затем вы можете поставить файл в обычном порядке, например: