Détail des valeurs d’un champ personnel (Créer un compte)

  • Statut : non résolu
6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Messages
  • #464705
    geekubuntu
    Participant
    Chevalier WordPress
    286 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.6.5

    Problème(s) rencontré(s) :

    J’ai un champ personnel qui indique quelques valeurs différentes (mais beaucoup de billets ont la même, il n’y a que 3 valeurs différents en tout dans ce champ personnel) , j’aimerais afficher les titres des billets par ordre de champ personnel, en les classant par occurences trouvées, exemple;

    Classement pour « Gains »:

    1/ 1000 euros par 5 participants
    – titres des 5 billets ayant ce champ personnel –

    2/ 500 euros par 10 participants
    – titres des 10 billets ayant ce champ personnel –

    3/ 50 euros par 15 participants
    – titres des 15 billets ayant ce champ personnel –

    la somme en euros est la valeur du champ personnel « gains »

    c’est possible?

    ++

    #651424
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    J’ai fait ça sur un de mes blogs en construisant la requete sql moi meme, au lieu de passer par query posts.
    Une fois le résultat de la requete passé à un tableau, la boucle if have_posts() fonctionne normalement, il suffit d’insérer un test sur la valeur du champs personnalisé

    #651425
    geekubuntu
    Participant
    Chevalier WordPress
    286 contributions

    Pourrais-tu m’aider pour la requête SQL? D’ailleurs je trouve que c’est assez complexe quand on veut créer sa propre requête. Alors oui c’est du Mysql, mais il n’y a pas un « guide » adapté à des exemples pour WordPress?

    ++

    #651426
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    La structure est extrêmement simple

    $query_stringL = « SELECT *
    FROM $wpdb->posts, $wpdb->postmeta
    WHERE ($wpdb->posts.ID = $wpdb->postmeta.post_id)
    ORDER BY $wpdb->postmeta.meta_value DESC, $wpdb->posts.post_date DESC ; »

    $series_posts = $wpdb->get_results($query_stringL, OBJECT);
    if ($series_posts):

    Et après tu construis ta boucle…

    #651427
    geekubuntu
    Participant
    Chevalier WordPress
    286 contributions

    Merci Lumière de Lune 🙂

    Mais ou je dois marquer le nom du champ personnel? Pas dans la requête sql?

    Je crois que j’ai un peu de mal :( je suis arrivé à ça:

    posts, $wpdb->postmeta
    WHERE ($wpdb->posts.ID = $wpdb->postmeta.post_id)
    ORDER BY $wpdb->postmeta.meta_value DESC, $wpdb->posts.post_date DESC ; »
    $series_posts = $wpdb->get_results($query_stringL, OBJECT);
    if ($series_posts):

    foreach ($series_posts as $post):

    endforeach;
    ?>

    ++

    #651428
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    En fait tu es en train de passer de « c’est possible » à « faites moi le truc »

    As tu regardé comment fonctionnent les champs personnalisés ? Comment on affiche la valeur d’un champs personnalisé ? Sais tu la stocker dans une variable ? Programmer une boucle en sql ? Juste comme ça pour savoir….

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