Стили в WP на не сколько частей

Задавал подобный вопрос здесь:

http://mywordpress.ru/support/viewtopic.php?id=683

Каким образом разбить файл стилей в WP?

Попытка решить проблему в лоб: исключив(закомментировав) общий файл и
создав файлы ie.css, menu.css, layout.css, fonts.css, colors.css,
разместив их в header.php. подключив через

<LINK media=screen href="http://www.mysite.ru/blog/wp-content/themes/defualt/xxx.css" type=text/css rel=stylesheet>

все на ходится на локальном компьютере, стоит "Denver 2",
получил не работающий блог в OPERA 8.5 и FF 1.5 в IE 6 все работает.
Подключив общий файл и разворачивая файл ie.css в

<!--[if IE]><STYLE type="text/css">...</STYLE><![endif]-->

в header.php получаю работающий блог.
Таже проблема с menu.css, но уже не работает в IE 6, меню горизонтальное с вложениями на JavaScript, расположено в header.php, там же и html код меню.

Если я правильно понял, то вы хотите подключать разные css-стили, в зависимости от используемого браузера. Вы можете попробовать вариант, основанный на PHP, то есть WordPress будет сразу подставлять нужный css-файл.

В общем все дело в том, чтобы анализировать версию браузера по HTTP_USER_AGENT.

Вот рабочий пример. Открываем файл header.php. Находим в нем строчку:

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen">

Вместо нее пишем:

<?php 
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
$browser = 'style.css'; // css-файл по-умолчанию
if (stristr($user_agent, 'Opera')) {$browser = 'opera.css';} // опера
  else {
    if (stristr($user_agent, 'Firefox')) {$browser = 'firefox.css';} // файрфокс
    else {
        if (stristr($user_agent, 'MSIE 6.0')) {$browser = 'msie60.css';} // IE6
        else {
            if (stristr($user_agent, 'MSIE 5.0')) {$browser = 'msie50.css';}; // IE5
        }
    }
  }

$browser = @get_bloginfo('template_url') . '/' . $browser;
echo '<link rel="stylesheet" href="' . $browser . '" type="text/css" media="screen">';
?>

Главное, чтобы браузер верно передавал сведения о себе, поэтому и осуществляется последовательная проверка. Если будут проблемы, то попробуйте проанализировать посылаемый браузером заголовок, например так:

echo $_SERVER['HTTP_USER_AGENT'];

Спасибо!
Возможно в дальнейшем, буду использовать предложенное Вами, хотя это не совсем то, что мне надо в данном случае.
Мои проблемы решились так, все файлы стилей подключаем через:

<link media=screen href="http://www.mysite.ru/blog/wp-content/themes/default/xxx.css" type=text/css rel=stylesheet>

в файле header.php.

С файлом ie.css простая небрежность, забыл, перенося из

<!--[if IE]><STYLE type="text/css">...</STYLE><![endif]-->

проставить *HTML.

С файлом menu.css вообще история, первый раз сталкиваюсь, в файле были комментарии, когда стили находились в

<head>…</head>

все работало в OPERA, FF, IE6, после создания отдельного файла menu.css перестало работать в IE6. Причина наличие комментариев, удалил, все пришло в норму. Вот такой у нас «любимый браузер».

Дам ссылку на эту тему на «WordPress : форум поддержки», может кому-нибудь пригодится.

Anonymous
Отправить
Ответ на: