Должно ли это быть в своей собственной таблице стилей и как? (PHP в таблице стилей?) - PullRequest
1 голос
/ 29 сентября 2011

Создание панели параметров WordPress.Одна из вещей, которую он делает, позволяет пользователям выбирать собственные цвета.Я использую таблицу стилей по умолчанию, затем вызываю стили для пользовательских вводов.Однако я просто вставляю это в заголовок вместо того, чтобы эти пользовательские значения находились в их собственной таблице стилей (поскольку мне нужно вызывать выбор пользователя через PHP).

Например, в моем заголовке есть кодthis:

<style type="text/css">
p a { <?php echo get_option('to_custom_css'); ?> }
</style>

И в моих функциях:

array( "name" => "Custom CSS",  
    "desc" => "Want to add any custom CSS code? Put in here, and the rest is taken care of. This overrides any other stylesheets. eg: a.button{color:green}",  
    "id" => $shortname."_custom_css",  
    "type" => "text",  
    "std" => ""),    

Как бы я мог разместить это в своей собственной таблице стилей, все еще используя <?php echo get_option('to_custom_css'); ?> для вызова ввода пользователя?

Ответы [ 3 ]

6 голосов
/ 29 сентября 2011

Вы можете создать таблицу стилей в PHP, но для заголовка Content-type нужно установить значение text / css.В вашем HTML:

<head>
  <link rel="stylesheet" type="text/css" href="user-styles.php" />
  <!-- ... -->

В user-styles.php:

<?php

header('Content-type: text/css');

?>
/*  now put your css here : */

p a { 
    <?php echo get_option('to_custom_css'); ?> 
}

/* and so on... */
3 голосов
/ 29 сентября 2011

Сначала добавьте это в ваш .htaccess файл, чтобы он интерпретировал php, найденный в файлах css:

AddType application/x-httpd-php .css

Затем ссылка на внешнюю таблицу стилей. Сделайте, чтобы ссылка динамически включала информацию, необходимую для определения значений CSS пользователя (вероятно, идентификатора), например:

<link rel="stylesheet" href="http://www.yourserver.com/customstyle.css?id=<?php echo $userid; ?>" type="text/css" />

Наконец, поместите php-код в таблицу стилей, которая распечатывает css динамически, например:

<?php echo get_option('to_custom_css'); ?>

Используйте $_GET['parametername'] для получения параметров, позволяющих рассчитать данные CSS.

0 голосов
/ 29 сентября 2011

В конечном итоге вы должны записать CSS в файл, который можно добавить со страницы хостинга.Таким образом, он может быть кэширован браузером.

<link rel="stylesheet" type="text/css" href="user1024/style.css" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...