Voilà, j’ai un petit soucis avec des conditions (if else else if) et deux boucles. J’aimerais que sur ma page d’accueil s’affiche la première boucle avec les annonces d’enchères « En cours » et que s’il n’y en a pas, que cela soit la boucle avec les annonces « A venir » qui s’affiche.
Le problème est qu’a présent, les deux boucles s’affichent en même temps et non pas l’une ou l’autre (comme vous pouvez le voir sur la page d’accueil actuelle).
Je suppose qu’il faut que je puisse afficher la conditions (venant de la table postmeta des annonces) avant les boucles? (Si oui comment récupérer l’ID de l’annonce?).
Ou dois-je faire deux meta-query différentes?
J’espère avoir été assez clair sur ce que je désir effectuer, j’aimerais vraiment que s’affiche soit l’un soit l’autre, mais pas les deux en même temps.
Je vous remercie d’avance et vous souhaite ne bonne journée.
Le code:
$args = array
(
'post_type' => 'vehica_car',
'posts_per_page' => -1,
'cache_results' => false,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
'tax_query' => array(
array (
'taxonomy' => 'vehica_19636',
'field' => 'slug',
'terms' => array( 'voitures', 'motocycles', 'vehicules-utilitaires', 'autres-annonces'),
)
),
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'auction_status',
'value' => 'demarrer',
'compare' => 'IN',
),
array(
'key' => 'auction_status',
'value' => 'soon',
'compare' => 'IN',
),
),
);
$start_query = new WP_Query( $args );
$all_annonces = $start_query->posts;
ob_start(); ?>
<div class="container">
<div class="row">
<div id="users">
<div class="filter-group row">
<div class="filter-title">
<p>Filtrer</p>
</div>
<div class="form-group">
<div class="radio-inline">
<label>
<input class="filter-all" type="radio" value="all" name="gender" id="gender-all" checked /> Tout
</label>
</div>
<div class="radio-inline">
<label>
<input class="filter" type="radio" value="voitures" name="gender" id="gender-car" /> Voitures
</label>
</div>
<div class="radio-inline">
<label>
<input class="filter" type="radio" value="vehicules-utilitaires" name="gender" id="vehicules-utilitaires" /> Utilitaires
</label>
</div>
<div class="radio-inline">
<label>
<input class="filter" type="radio" value="motocycles" name="gender" id="gender-motos" /> Motos
</label>
</div>
<div class="radio-inline">
<label>
<input class="filter" type="radio" value="autres-annonces" name="gender" id="gender-other" /> Autres
</label>
</div>
</div>
<label class="filter-title" style="margin-right: 2em;">Rechercher par marque
<input style="margin-left: 0.5em;" type="text" class="search form-control" placeholder="Exemple: Audi" />
</label>
<div class="form-group col-xs-12 col-sm-12">
<button class="btn btn-danger" onclick="resetList();">Annuler</button>
</div>
</div>
<ul class="list afs-list">
<?php
// Loop all annonces
foreach($all_annonces as $annonce)
{
$all_post_meta = get_post_meta($annonce->ID);
$auction_type = get_the_terms($annonce->ID, 'vehica_19636');
$auction_type_slug = $auction_type[0]->slug;
$annonce_auction_list = get_post_meta($annonce->ID, 'auction_list');
$annonce_auction_status = get_post_meta($annonce->ID, 'auction_status', true);
$annonce_auction_date = get_post_meta($annonce->ID, 'vehica_20836', true);
$annonce_auction_hour = get_post_meta($annonce->ID, 'vehica_20856', true);
$annonce_auction_date_hour = $annonce_auction_date . ' ' . $annonce_auction_hour;
$get_title = get_the_title($annonce->ID);
// Info du véhicule
$get_mark = get_post_meta($annonce->ID, 'vehica_39814', true);
$get_carburant = get_post_meta($annonce->ID, 'vehica_19618', true);
$get_boite = get_post_meta($annonce->ID, 'vehica_19620', true);
$get_km = get_post_meta($annonce->ID, 'vehica_48173', true);
$images_gallery = get_post_meta($annonce->ID, 'vehica_19246');
$first_img_src = wp_get_attachment_image_src($images_gallery[0], 'medium');
$link_to_annonce = get_permalink($annonce->ID);
$get_first_imm = get_post_meta($annonce->ID, 'vehica_19190', true);
$content = wp_trim_words(get_post_field('post_content', $annonce->ID), 8, '...');
if($annonce_auction_status == 'demarrer') {
echo'
<li class="afs-list-item list--list-item afs-car-' . $annonce->ID . '" data-id="' . $annonce->ID . '" data-gender="' . $auction_type_slug . '">
<div class="name" style="height: 1px;">' . $get_mark . '</div>
<div class="afs-card__inner">
<a href="' . $link_to_annonce . '" class="afs-card-link"></a>
<div class="afs-list-item__featured">
<div class="afs-list-item__featured__inner in-progress-featured">En cours</div>
</div>
<div class="afs-list-item__image-bg" >
<div class="afs_list_item__image">
<img src="' . $first_img_src[0] . '" data-sizes="auto" alt="' . $get_title . '" class="lazyautosizes lazyloaded" sizes="248px" srcset="">
</div>
</div>
<div class="afs-list-item__content">
<a href="' . $link_to_annonce . '"title="' . $get_title . '"class="afs-list-item__name">' . $get_title . '</a>
<div class="afs-card-card__separator"></div>';
if($auction_type_slug == 'autres-annonces')
{
echo $content;
}
else
{
echo'
<div class="afs-list-item-card__info">
<div class="afs-list-item__info__single">' . $get_first_imm . '</div>
<div class="afs-list-item__info__single">' . number_format($get_km, 0, ".", "'") . ' Km</div>
<div class="afs-list-item__info__single">' . $get_boite . '</div>
<div class="afs-list-item__info__single">' . $get_carburant . '</div>
</div>';
}
'</div>
</div>
</li>';
}
else if ($annonce_auction_status == 'soon') {
echo'
<li class="afs-list-item list--list-item afs-car-' . $annonce->ID . '" data-id="' . $annonce->ID . '" data-gender="' . $auction_type_slug . '">
<div class="name" style="height: 1px;">' . $get_mark . '</div>
<div class="afs-card__inner">
<a href="' . $link_to_annonce . '" class="afs-card-link"></a>
<div class="afs-list-item__featured">
<div class="afs-list-item__featured__inner soon-featured">A venir</div>
</div>
<div class="afs-list-item__image-bg" >
<div class="afs_list_item__image">
<img src="' . $first_img_src[0] . '" data-sizes="auto" alt="' . $get_title . '" class="lazyautosizes lazyloaded" sizes="248px" srcset="">
</div>
</div>
<div class="afs-list-item__content">
<a href="' . $link_to_annonce . '"title="' . $get_title . '"class="afs-list-item__name">' . $get_title . '</a>
<div class="afs-card-card__separator"></div>';
if($auction_type_slug == 'autres-annonces')
{
echo $content;
}
else
{
echo '
<div class="afs-list-item-card__info">
<div class="afs-list-item__info__single">' . $get_first_imm . '</div>
<div class="afs-list-item__info__single">' . number_format($get_km, 0, ".", "'") . ' Km</div>
<div class="afs-list-item__info__single">' . $get_boite . '</div>
<div class="afs-list-item__info__single">' . $get_carburant . '</div>
</div>';
}
'</div>
</div>
</li>';
}
}
?>
</ul>
<div class="no-result">Aucun résultat ne correspond à votre recherche</div>
<ul class="pagination"></ul>
</div>
</div>
</div>
<?php
return ob_get_clean();