Задать вопрос
sorry_i_noob
@sorry_i_noob

Как в Wordpress к каждой карточке в конкретной категории сделать уникальное оформление?

Здравствуйте. У меня в Wordpress есть категория. Я ее открываю, и мне выводятся карточки с постами в этой категории. Я хочу для каждой карточки сделать уникальное оформление (сделать фон карточки определенным цветом, добавить свою картинку-превьюшку). Как мне это сделать?
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@weart
Если вам нужно оформлять индивидуально пост, то не путайте людей и не пишите про категории.

Для записи нужно создать произвольные поля (например, с color picker для фона) с помощью ACF или то же самое, но вручную с помощью metabox (что посложнее). Ну а дальше эти значения прописывать в инлайн-стили блока аля:

<div class="post" style="background-color:<?php the_field('color'); ?>">Котики</div>
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте!
Желательно предоставить скриншот и какой-нибудь код для конкретизации вопроса.
А если в общем, то можно например, кастомизацию карточек провести при помощи псевдоселектора nth-child()
Предположим, что карточки у вас выводятся в виде:
<ul class="cards">
<li class="card">Запись 1</li>
<li class="card">Запись 2</li>
<li class="card">Запись 3</li>
<li class="card">Запись 4</li>
<li class="card">Запись 5</li>
</ul>


Соответственно, например, чтобы каждая 3-я карточка имела фон красного цвета указываете следующее:
ul.cards li:nth-child(3n) {
background:red;
}


Чтобы каждая вторая карточка имела фон зеленого цвета:
ul.cards li:nth-child(2n) {
background:green;
}


https://www.w3schools.com/cssref/sel_nth-child.asp
htmlbook.ru/css/nth-child

Или же можете завести счетчик и внутри рнр цикла добавлять нужные классы к тем ли иным карточкам, а далее стилизовать... В общем, нужна конкретика
Ответ написан
@baton4eg
web developer
в WP уже есть произвольные поля, только не стилизованные... Их можно включить в настройках экрана.
5c2722a0107ce892793690.jpeg
После этого их нужно заполнить как удобно:
5c272273ac630006399101.jpeg

Вывод этих полей:
global $post;//поместить вне цикла в начало файла в случае не правильного получения данных
$color  = 'color: ' . get_post_meta( $post->ID, 'color' ) . ';';
$bg     = 'background-image:url("' . get_post_meta( $post->ID, 'url' ) . '");';
$style = 'style="' . $color . $bg . '"';

<div class="карточка" <?= $style; ?>>содержимое карточки</div>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы