Ich muss Beiträge über zwei Seitenleisten verteilen. Es kann bis zu 10 Beiträge geben, aber möglicherweise weniger. Die Beiträge sind nach Datum sortiert und müssen in dieser Reihenfolge gleichmäßig auf die beiden Seitenleisten verteilt werden. (Erster Beitrag in der linken Seitenleiste, zweiter Beitrag in der rechten Seitenleiste usw.)Posts gleichmäßig über zwei Seitenleisten verteilen und für jedes Element nur ausgegeben, wenn es existiert
Momentan erhalte ich die Posts und speichere sie in einem Array. Für die linke Seitenleiste überprüfe ich alle geraden Posts (beginnend mit 0
, bis 8
) und gebe den Post aus, wenn er existiert. Ich mache das gleiche mit den ungeraden Posts (1
bis 9
) in der rechten Seitenleiste.
Ich bin jedoch auf der Suche nach einer effizienteren Möglichkeit, dies durch Schleifen durch das Array und nur die gerade/ungerade Beiträge zu überprüfen.
Dies ist mein Code für eine Sidebar:
<?php $posts = query_posts("posts_per_page=10&cat=1340");
if($posts != null) {
$ad = object_to_array($posts);?>
<?php if($ad[1]) {?>
<br />
<a href="<?php echo get_field('link',$ad[1]['ID']); ?>" target="_blank"> <span class="ad1" style="background-image:url('<?php echo get_featured_image_url($ad[1]["ID"],"large");?>')"></span></a>
<?php } ?>
<?php if($ad[3]) {?>
<br />
<a href="<?php echo get_field('link',$ad[3]['ID']); ?>" target="_blank"> <span class="ad1" style="background-image:url('<?php echo get_featured_image_url($ad[3]["ID"],"large");?>')"></span></a>
<?php } ?>
<?php if($ad[5]) {?>
<br />
<a href="<?php echo get_field('link',$ad[5]['ID']); ?>" target="_blank"> <span class="ad1" style="background-image:url('<?php echo get_featured_image_url($ad[5]["ID"],"large");?>')"></span></a>
<?php } ?>
<?php if($ad[7]) {?>
<br />
<a href="<?php echo get_field('link',$ad[7]['ID']); ?>" target="_blank"> <span class="ad1" style="background-image:url('<?php echo get_featured_image_url($ad[7]["ID"],"large");?>')"></span></a>
<?php } ?>
<?php if($ad[9]) {?>
<br />
<a href="<?php echo get_field('link',$ad[9]['ID']); ?>" target="_blank"> <span class="ad1" style="background-image:url('<?php echo get_featured_image_url($ad[9]["ID"],"large");?>')"></span></a>
<?php } ?>
<?php } ?>
Dies funktioniert. Allerdings möchte ich irgendwie die geraden/ungeraden Posts durchlaufen.
Ich verwende keine CSS-Klasse, um sie auszurichten. Ich habe zwei separate 'div's mit dem Inhalt und Styling für die Sidebars. Innerhalb des "div" für die rechte Seitenleiste muss ich nur die ungeraden Posts ausgeben, und an anderer Stelle in meinem Code muss ich im "div" für die linke Seitenleiste die geraden Posts ausgeben. –