Intereting Posts
Как создать страницу «последние новости», в которой отображается список сообщений из категории блога Сделать скрипт на странице Как добавить пятый вариант в подборщик выравнивания? Медиа-загрузчик: получите удаленные файлы Получить полный список всех настраиваемых полей для всего блога Loop в моем файле archive.php не работает для пользовательских таксономий Как проверить пользовательские правила перезаписи / постоянные ссылки? перенаправить пользователей на страницу входа в систему Пользовательский фильтр post post by post meta – не возвращает правильные подсчеты Значения метабокса отображаются в списке Custom Fields. Можно ли их скрыть? Как добавить пользовательские классы в тег HTML тега WordPress? Отображать пользовательский HTML на веб-сайте Исключить категорию из соответствующей должности Настройте, как выглядит тема WordPress в разделе «Выбор темы» Как получить совпадение слов php и tinyMCE?

Включить CSS с PHP без включения wp-load?

У меня есть CSS-файл, созданный с PHP.

В моем файле говорится …

header("Content-type: text/css"); define('WP_USE_THEMES', false); include '../../../../wp-load.php'; 

Я читал, что в том числе wp-load.php, как это нехорошо. Почему я делаю это, чтобы получить окружающую среду там.

Каков «правильный» способ сделать это?

Solutions Collecting From Web of "Включить CSS с PHP без включения wp-load?"

РЕДАКТИРОВАТЬ

Забудьте мой ответ ниже. Вы можете просто использовать wp_register_style и wp_enqueue_style описанные в этом ответе .


Вы можете сделать это с помощью дополнительной переменной запроса.

  1. Добавьте новую переменную в массив $query_vars с фильтром query_vars
  2. В действии template_redirect убедитесь, что ваш файл custom.php включен, если задана переменная запроса.

     // functions.php function wpse26013_add_query_vars(query_vars) { $query_vars[] = 'style'; return $query_vars; } add_filter('query_vars', 'wpse26013_add_query_vars'); function wpse26013_include_custom_css() { $style = get_query_var('style'); if($style == 'custom') { include_once(get_stylesheet_directory_uri() . '/css/custom.php'); return; } } add_action('template_redirect', 'wpse26013_include_custom_css'); 

Затем вы можете добавить простой css include в свой файл заголовка.

 // header.php <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo('stylesheet_url') . '/css/?style=custom'; ?>" /> 

И последнее, но не менее важное: вы должны определить свой собственный файл css.

 // custom.php <?php header('Content-type: text/css'); header("Cache-Control: must-revalidate"); header('Expires: ' . gmdate('D, d MYH:i:s', time() + 1209600) . ' GMT'); $options = get_option('webeo'); ?> #header #logo { background: url('<?php echo get_stylesheet_directory_uri() . '/images/' . $options['header']['site_logo']; ?>') no-repeat; } 

Вы также можете получить содержимое из файла css с встроенной функцией PHP file_get_contents() и распечатать css непосредственно в исходном коде.