Tri par prix via custom field (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 16)
  • Auteur
    Messages
  • #517640
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Bonjour,

    J’utilise le custom field « prix » pour afficher les prix en euro. Je rentre à l’intérieur par exemple « 10€ » j’aimerai réaliser un tri par prix du plus cher au moins cher et vice versa.

    Comment faire ?

    #867689
    Guy
    Participant
    Maître WordPress
    14817 contributions

    the_field n’est pas une fonction WordPress.

    Les arguments à passer à une requête WordPress sont décrit dans le codex, voit la classe WP_Query

    #867690
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Oui c’est une fonction de ACF Advanced Custom Field. Je ne comprend pas trop le codex WP_Query.
    Pourriez vous m’aider Guy ?

    Merci par Avance 🙂

    #867691
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    J’ai trouvé ça mais je vois pas trop comment l’adapter à mon besoin…

     ‘film’, ‘orderby’ => ‘title’, ‘order’ => ‘DESC’)); ?>

    #867692
    Guy
    Participant
    Maître WordPress
    14817 contributions

    non, il faut mettre meta_value dans le critère de tri et le nom du champs perso dans meta key.

    ‘orderby’ => ‘meta_value’, ‘meta_key’ => ‘prix’

    Si tu mets ‘post_type’ => ‘film’, il ne listera que les types d’articles personalisés, ici le custom post ‘film’.

    #867693
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Ok alors

     ‘meta_value’, ‘meta_key’ => ‘prix’)); ?>

    Mais est ce que ca va me faire un tri par ordre croissant ou décroissant ?

    En gros j’aimerai un lien du type: Plus cher Moins Cher en haut de mes articles.

    Merci pour ton aide

    #867694
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Ca trira via mon custom field prix ?

    #867695
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Pourriez-vous m’indiquer la bonne marche à suivre ?

    #867696
    Guy
    Participant
    Maître WordPress
    14817 contributions

    Déjà, il faut que tu comprennes comment marchent les requêtes dans WordPress pour pouvoir afficher en respectant le tri voulu, tout est dans la page du Codex de la classe WP_Query.

    Ensuite mettre un choix (pour toi « croissant / décroissant ») dans une page PHP est un problème assez classique en développement. Le plus simple étant de construire des liens appelant une page avec une url du style monsite.com/mapage?tri=croissant, tu récupères la variable et construits ta requête WordPress en fonction de cette valeur.

    Étant donné que tu n’as fourni aucune explication, on ne peut en rester qu’aux principes généraux, à toi de les mettre en œuvre, il est difficile d’en dire plus, on ne sait pas quel est le type de page, si il y aura une pagination, …..

    #867697
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Je comprend, j’aurai du te fournir plus d’informations autant pour moi. voici des infos :

    Mon blog c’est

    www.unpoildanslamain.fr

    J’utilise le theme techline
    Mes prix sont afficher via un Custom Fields fait a partir de ACF

    J’aimerai un pagination; j’utilise actuellement WP-NAVI

    En gros j’aimerai que les articles s’affichent comme ceci catégorie noel:

    http://www.unpoildanslamain.fr/par-occasion/cadeau-noel/

    J’aimerai aussi que le tri puisse se faire en index et dans chaque catégorie est ce possible ?

    Je reste à ta disposition si tu as besoin d’infos

    Merci

    #867698
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Bon j’ai bien vu ça mais ou je le met comment je l’insère ? Comment faire le lien pour trier ?

    $args = array(
    ‘post_type’ => ‘product’,
    ‘meta_query’ => array(
    ‘relation’ => ‘OR’,
    array(
    ‘key’ => ‘color’,
    ‘value’ => ‘blue’,
    ‘compare’ => ‘NOT LIKE’
    ),
    array(
    ‘key’ => ‘price’,
    ‘value’ => array( 20, 100 ),
    ‘type’ => ‘numeric’,
    ‘compare’ => ‘BETWEEN’
    )
    )
    );
    $query = new WP_Query( $args );

    JE voudrai pas le tri Color, mais uniquement « Prix », j’utilise wordpress normal pas Ecommerce

    #867699
    Guy
    Participant
    Maître WordPress
    14817 contributions

    D’accord, j’ai regardé le site, ce que tu veux faire demande une bonne connaissance de l’API WordPress et du développement avec PHP, or il me semble que tu ne maitrises aucun des deux.

    Pour la requête, tu vas chercher des meta_query alors que la requête citée plus haut fonctionne, l’as tu essayé, quel a été le résultat?

    Tu peux déjà mettre en place un tri croissant ou décroissant en « dur ». Pour le lien permettant de modifier croissant/decroissant, cela viendra dans un deuxième temps, tant que tu n’as pas réussi à faire fonctionner ton tri, il ne sert à rien d’y penser.

    #867700
    shadowo33
    Membre
    Initié WordPress
    17 contributions

    Bonjour,
    Je recherche la même solution pour le même problème. J’ai des prix dans un custom field et cherche a faire un tri avec ceux ci.

    Avez-vous trouvé une solution ?

    Merci

    #867701
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Non malheureusement mais je suis preneur si tu trouve !!

    #867702
    pleindeblagues
    Membre
    Chevalier WordPress
    161 contributions

    Je relance le sujet mon site dispose désormais de cet requête

    $is_post_wrap = 0;


    $query = new WP_Query(
    array(
    ‘meta_key’ => ‘prix’,
    ‘orderby’ => ‘meta_value_num’,
    ‘order’ => isset($_GET[‘orderby’]) ? $_GET[‘orderby’] : ‘ASC’
    )
    );



    if (have_posts()) : while (have_posts()) : the_post();

    Soit un tri croissant, or je n’arrive toujours pas à l’afficher il y a une erreur quelque part ?

15 sujets de 1 à 15 (sur un total de 16)
  • Vous devez être connecté pour répondre à ce sujet.