Mały myk w wordpressie.
Chciałbym, żeby co drugi wpis, obrazek pokazywał się po prawej stronie, a tekst po lewej (razem z datą). Jest to możliwe do zrobienia? Ewentualnie JAK?
0
0
Myślę, że możesz wykorzystać odd / even i :nth-of-type() i zaplikować float:right;
Pokombinuj z czymś w rodzaju:
div#test img:nth-of-type(odd) {
float:right;
}
0
Okej, tylko my mówimy o co drugim poście.
Mam klasę do zmiany koloru co drugiego wpisu.
add_filter( 'post_class', 'iworks_even_odd_post_class_filter' );
$post_count = 1;
function iworks_even_odd_post_class_filter( $class )
{
global $post_count;
$class[] = $post_count++ % 2? 'odd':'even';
return $class;
}
1
Okej, tylko my mówimy o co drugim poście.
Co drugi post jest właśnie parzysty/nieparzysty (even/odd). Po to jest selector :nth-of-type(odd), żebyś mógł dany styl zastosować dla kolejnych nieparzystych elementów danego typu
Zakładając, że powtarzające się divy mają klasę .post:
<div class="post" >
<img src="http://placehold.it/250x150" alt="placeholder"><img>
<p>there is some text</p>
</div>
<br/>
<div class="post" >
<img src="http://placehold.it/250x150" alt="placeholder"><img>
<p>there is some text</p>
</div>
<br/>
<div class="post" >
<img src="http://placehold.it/250x150" alt="placeholder"><img>
<p>there is some text</p>
</div>
Możesz dodać taki CSS
.post{
display:table;
}
.post img,p{
display:inline-block;
vertical-align:middle;
}
.post:nth-of-type(odd) img{
float:right;
}
I osiągniesz to co chcesz. Nie potrzebujesz żadnego dodatkowego JS czy PHP.
Tu masz przykład: https://embed.plnkr.co/uCkbblIVFg1OAml620ga/