Intereting Posts
Как удалить некоторые параметры экрана и мета-ящики из добавления / редактирования типа сообщения? Пользовательская структура константной ссылки с% postname% перед именем домена Woocommerce Категория продукта Widget – скрыть категории, не имеющие продуктов на складе Почему мое обновление вручную завершилось неудачей? Добавить Добавить в корзину через Поиск Выберите записи, которые соответствуют названиям нескольких категорий, должны соответствовать всем перечисленным категориям Есть ли (предпочтительный встроенный) способ проверить, какие пользовательские запросы используются в теме? Меню дочерней страницы в боковой панели Какой плагин позволит мне связать одно сообщение с другим? wp_list_categories исключает работу bloginfo () и get_template_directory_uri () с SSL? Мета-боксы в форме отправки переднего конца Как создать разные базы данных для некоторых типов сообщений для разных пользователей? Значки темы не видны на http://domain.com, работает на http: // ipaddress Письма не доставляются на адреса Hotmail

Включить 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 непосредственно в исходном коде.