2015-11-13 3 views
0

На первой странице моего сайта у меня есть 3 сообщения, которые вытаскивают, а под каждым из них находится ссылка. Мне нужно, чтобы каждый из 3-х разделов был другого цвета. Новые сообщения в этой категории будут отображаться здесь, поскольку они публикуются, но на нем будут отображаться только последние три. Мне нужно сделать так, чтобы три «слышать больше» div всегда были одного цвета. Ниже приведены фотографии и код.Невозможно определить, как установить цвет для конкретных div в цикле

Как это в настоящее время: enter image description here

Как мне нужно быть: enter image description here

HTML:

<?php 
    $args = array(
    'post_type' => 'success', 
    'posts_per_page' => 3, 
    'order' => 'ASC' 
); 

    $query = new WP_Query($args); 
?> 

<?php while ($query->have_posts()) : $query->the_post(); ?> 
    <div class="success-stories-div"> 
    <div class="success-stories-text"> 
     <p style="font-size: 120%;">Success Story</p> 
     <?php the_content(); ?> 
    </div> 
    <a href="<?php the_permalink(); ?>"> 
     <div class="success-stories-link">Hear More > 
     </div> 
    </a> 
    </div> 
<?php endwhile; wp_reset_query(); ?> 

CSS:

.success-stories .success-stories-link { 
    margin-top: 1em; 
    width: 465px; 
    height: 50px; 
    background-color: #F4B147; 
    padding: 12px 0 0 15px; 
} 
+0

Ваш вопрос непонятен: сначала вы говорите, что хотите, чтобы все они другой цвет, тогда вы говорите, что хотите, чтобы они все одинаковы. Что он? – jmargolisvt

+0

yeap ... Я просто смотрю картинку –

ответ

1

Я думаю, что проблема заключается в том, что вы не вызывая другие цвета: Я хотел бы попробовать что-то вроде этого: Что я делаю здесь является то, что я создаю переменную $i и сделать он $i=0 затем внутри цикла в то время как я $i и возрастать после так что я могу добавить номер в конце css class, и она будет выглядеть следующим образом: class="success-stories-link<?php echo $i; ?>"

<?php 
$args = array(
'post_type' => 'success', 
'posts_per_page' => 3, 
'order' => 'ASC' 
); 

$query = new WP_Query($args); 
?> 

    <?php $i = 0; 
    while ($query->have_posts()) : $query->the_post(); ?> 
    <div class="success-stories-div"> 
    <div class="success-stories-text"> 
    <p style="font-size: 120%;">Success Story</p> 
    <?php the_content(); ?> 
</div> 
<a href="<?php the_permalink(); ?>"> 
    <div class="success-stories-link<?php echo $i; ?>">Hear More > 
    </div> 
</a> 
    </div> 
    <?php $i++; endwhile; wp_reset_query(); ?> 

в CSS Я woul d добавить разные background-color:

.success-stories .success-stories-link0 { 
margin-top: 1em; 
width: 465px; 
height: 50px; 
background-color: #F4B147; 
padding: 12px 0 0 15px; 
} 
.success-stories .success-stories-link1 { 
background-color: another-color; 
} 
    .success-stories .success-stories-link2 { 
background-color: another-color; 
} 

Я не проверял этот код. Кроме того, я смотрю фотографии How I need to be: Также может быть лучшее решение для этого ... но это должно сэкономить вашу жизнь на данный момент =)

+0

Это на правильном пути, но ваш $ i = 0; вне каких-либо php-тегов ... и вы никогда не увеличиваете $ i в любом месте, поэтому $ i всегда будет равен 0. –

+0

Привет, да, я увеличил '$ i ++', проблема заключалась в том, что когда я копировал и вставлял код, t увидеть «конец while» =/Извините, я отредактирую свой ответ;) для будущих пользователей –

+0

@DanielCooley '$ i ++' был там jejeje, но вне 'code' и, следовательно, вы не могли его увидеть. спасибо =) –

2

вы можете использовать селектор

пример:

<style> 
div{ 
    margin-top: 1em; 
    width: 465px; 
    height: 50px; 
    padding: 12px 0 0 15px; 
} 

div.success-stories-link:nth-child(1) { 
    background: green; 
} 
div.success-stories-link:nth-child(2) { 
    background: yellow; 
} 
div.success-stories-link:nth-child(3) { 
    background: red; 
} 

</style> 

<div class="success-stories-link"><a href="">1</a></div> 
<div class="success-stories-link"><a href="">2</a></div> 
<div class="success-stories-link"><a href="">3</a></div> 
+0

Это не сработает: nth-child игнорирует классы и идентификаторы. Попробуйте что-то подобное в вашей разметке работать (игнорируя класс), но в разметке OP это было бы почти невозможно. –

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