- WordPress :6.1
- Statut : non résolu
- Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par
sanka0579, le il y a 2 semaines et 1 jour.
-
AuteurMessages
-
15 mars 2023 à 9 h 52 min #2448624
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL : PHP: 8.0 / SQL: 4.9.6
- Thème utilisé : Vehica
- Extensions en place : Développée, Elementor, Mailpoet, Contact Form 7
- Nom de l’hébergeur : Infomaniak
- Adresse du site : encheres24.ch
Problème(s) rencontré(s) :
Bonjour la communauté,
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();Auctions Page -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.