2016-10-03 3 views
-3

Я не PHP-кодер, но с некоторой помощью (учебник Адама Беркенпаса). Я создал свою первую тему Wordpress. Это статическая страница (первая страница) и блог. Существует проблема с страницей блога, есть два разных стиля для блога и один для главной страницы. Некоторые классы (например, тело) имеют одно и то же имя, и когда я загружаю блог css по функции functions.php, он становится беспорядочным на моей главной странице (неправильные шрифты, цвет неправильного шрифта). Я изменил имя тела в блоге CSS, чтобы «blog.body» добавить класс в HTML с помощью», но это не помогло. Как это исправить?Wordpress и два стиля

CSS код

http://jsbin.com/xaredeneru

+0

Вы пытаетесь достичь 2 разных стилей на двух разных страницах (на главной странице и на домашней странице (домашняя страница после публикации)), правильно? –

+0

Да, точно так же –

+0

Ну, я собирался сказать, но люди уже сказали это.Вы можете использовать 'body_class' и нацелиться на (front-page), вы можете использовать' body.home .myclass {} 'и стремиться к страницам с листингом блога, которые вы можете использовать' body.blog .myclass {} ' –

ответ

0

если вы требуется указать другой класс тела, чем вы можете взглянуть на https://codex.wordpress.org/Plugin_API/Filter_Reference/body_class , основанный на том, что вы можете проверить страницу и добавить определенный класс тела для этой страницы сейчас в CSS вы можете просто дать стиль с родительской зависимостью, как:.

body.myclass .mytext{color:#000;} 

и на стр. 2:

body.someotherclass .mytext{color:#000;} 

Cheers!

0

Вы можете использовать комбинированные seletors в CSS: обычно тег <body> автоматически получает один или несколько уникальных классов Wordpress, а также класс, такой как page или single-post. Вы видите это, когда просматриваете сгенерированную страницу с помощью инструментов разработчика баузера.

Таким образом, вы можете, например, использовать body.page {...}, чтобы определить правила для тела страниц и body.archive {...} для тела на страницах архива.

И вы можете, например, использовать .page .nav {...} только стиль в .nav элементы класса на страницах. И так далее ...

0

Как @ ден-погладить и @johannes сказал ...

Вы можете использовать функцию body_class() и WordPress будет автоматически устанавливать некоторые классы тела для вас, если вы хотите знать, каковы классы, и когда они появляются, вы можете take a look here.

Но класс CSS для передней странице .home и класс CSS для блога (страницы после листинга) является .blog

Вы можете заменить текущий код тела тега

<body class="blog"> 

с

<body body_class() > 

и используйте селектор css для разделения стилей

body.home { // aim for front-page template 
background: #ccc; 
} 

body.blog { // aim for blog template 
background: #666; 
} 

В случае, если вы хотите динамически устанавливать свои классы тела, стоит прочитать около body_class фильтр-крючок.

Смежные вопросы