Problème if else if else avec deux boucles foreach (Créer un compte)

  • WordPress :6.1
  • Statut : non résolu
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #2448624
    sanka0579
    Participant
    Initié WordPress
    10 contributions

    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

     

Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.