Afficher la photo des auteurs dans une page « auteurs » (Créer un compte)

  • Statut : non résolu
13 sujets de 1 à 13 (sur un total de 13)
  • Auteur
    Messages
  • #458395
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.5
    – Thème utilisé : thème perso
    – Plugins en place : User Photo plugin (http://wordpress.org/extend/plugins/user-photo/)
    – Nom de l’hebergeur : 1&1
    – Adresse du site : http://blog.lesenfantsdelo.com

    Bonjour !

    J’utilise l’excellent plugin User Photo (lien juste au-dessus) et j’ai une page « auteurs », qui liste les auteurs (sans blague…) et surtout, leurs informations, comme leur profil, leur nom, leur avatar, etc.

    Mon code actuel ne permet d’afficher une image que si elle est au format jpg, ce qui est embêtant vu que mes auteurs ou abonnés uploadent aussi des photos au format gif ou png.

    J’aimerais intégrer le plugin User Photo dans cette page, histoire de pouvoir afficher ces trois formats d’image sans problème.

    Voici mon code actuel :

    <?php
    global $wpdb, $table_prefix; // set global WP vars needed for script

    $order = 'user_nicename'; // set order for users table query
    $user_ids = $wpdb->get_col(« SELECT ID FROM $wpdb->users ORDER BY $order »); // query users

    foreach($user_ids as $user_id) : // start authors’ profile « loop »

    $user = get_userdata($user_id); // retrieve author (i.e. user) details
    $level = $table_prefix . ‘user_level’; // set ‘user_level’ usermeta meta_key record
    $user->user_level = $user->$level; // assign ‘user_level’ property to $users
    $role = $table_prefix . ‘capabilities’; // set ‘role’ usermeta table meta_key record
    $user->role = array_keys($user->$role); // assign ‘role’ property to $user
    $user->role = $user->role[0]; // make sure $user->role is not an array
    ?>

    <?php
    $image_dir = 'wp-content/uploads/userphoto'; // directory where author images reside
    $image_file = $user->user_nicename; // format for image name
    $image_ext = ‘jpg’; // author image extension

    $image_path = trim($image_dir, ‘/’) . ‘/’ . $image_file . ‘.’ . $image_ext;
    if(file_exists(ABSPATH . $image_path)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path;

    ?>
    <img class="user-image" src="<?php echo $author_image; ?> » alt= »<?php echo $user->display_name; ?> » title= »<?php echo $user->display_name; ?> » />
    <?php endif; ?>

    Les modifications que j’ai apportées sont les suivantes. A la place de :

    <?php
    $image_dir = 'wp-content/uploads/userphoto'; // directory where author images reside
    $image_file = $user->user_nicename; // format for image name
    $image_ext = ‘jpg’; // author image extension

    $image_path = trim($image_dir, ‘/’) . ‘/’ . $image_file . ‘.’ . $image_ext;
    if(file_exists(ABSPATH . $image_path)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path;

    ?>

    J’ai mis :

    <?php
    $author_image = userphoto_the_author_photo();
    ?>

    qui est la fonction d’appel du plugin User photo, qui normalement, retourne le chemin vers l’image.

    Le problème, c’est que quand j’appelle la page, rien n’apparaît dans la source, l’argument src reste désespérément vide. Est-ce un problème de syntaxe ?

    Est-ce que quelqu’un saurait comment modifier le code pour que cela fonctionne, ou encore, modifier le code du haut pour qu’il accepte aussi les gif et les png (je ne vois pas trop comment ce serait possible simplement, mais bon, je suis très loin d’être une pro du php…).

    Merci pour toutes vos suggestions !!!

    La page est là :

    http://blog.lesenfantsdelo.com/about/les-abonnes/ (pour les abonnés)
    http://blog.lesenfantsdelo.com/auteurs-2/ (la page des auteurs)

    #626327
    AmO
    Participant
    Maître WordPress
    4447 contributions

    Il manque un endforeach; apres le endif;

    Mais le code est pourri a souhait….

    #626328
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Oui, j’imagine bien, vu que je n’ai mis qu’une partie du code et que le reste n’étant pas utile pour l’exemple, je l’ai laissé dans un coin. En même temps, ce n’est pas mon code, c’est tiré de la base DOC de wordpress ^^ Quant à l’affichage des users photos (ce que je cherche à remplacer), c’est un hack de wordpress écrit par je ne sais plus trop qui.

    #626329
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Mis à part ça, je profite que tu sois là pour te féliciter pour Simple Tags, ce plugin est vraiment génial. Bravo !

    #626330
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Bon, à part la « pourriture » du code, quelqu’un a-t-il un truc à suggérer ? J’ai essayé de chercher de mon côté, mais tout ce que j’ai trouvé, c’était un autre hack, encore une fois uniquement pour les images en .jpg.

    #626331
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Bon, ben personne ne m’aime ou quoi ? :(

    #626332
    alakhnor
    Participant
    Maître WordPress
    996 contributions

    Le plus simple serait probablement de mettre un truc comme ça :

    user_nicename; // format for image name

    $image_path = trim($image_dir, ‘/’) . ‘/’ . $image_file;

    if(file_exists(ABSPATH . $image_path.’.jpg’)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path.’.jpg’;
    elseif(file_exists(ABSPATH . $image_path.’.png’)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path.’.png’;
    elseif(file_exists(ABSPATH . $image_path.’.gif’)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path.’.gif’;

    ?>

    #626333
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Hey, merci, j’essaie ça tout de suite !!!

    #626334
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Rahhh, ça marche pas :( L’image ne s’affiche pas, et dans la source, il n’y a rien du tout…
    Dommage, car ça avait l’air d’être carrément le genre de truc qui pouvait fonctionner !

    #626335
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Erratum : ça marche super bien, c’est juste moi qui avais fait une connerie avec mon code.

    Merci !!!

    Le topic peut donc être marqué comme Résolu, et je suis sûre que je ne serai pas la seule à en profiter !!!

    #626336
    Ness_Du_Frat
    Membre
    Initié WordPress
    31 contributions

    Ok, deux ou trois petites choses : avec le script ci-dessus, si un auteur n’a pas d’image, curieusement, il récolte l’image de l’auteur du dessus…
    Assez embêtant, au final.

    Du coup, j’ai fait ça :

    user_nicename; // format for image name
    $image_path = trim($image_dir, ‘/’) . ‘/’ . $image_file;
    if(file_exists(ABSPATH . $image_path . ‘.jpg’)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path . ‘.jpg’;
    elseif(file_exists(ABSPATH . $image_path . ‘.png’)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path . ‘.png’;
    elseif(file_exists(ABSPATH . $image_path . ‘.gif’)) :
    $author_image = get_bloginfo(‘home’) . ‘/’ . $image_path . ‘.gif’;
    else :
    $author_image = « http://domain.com/wp-content/uploads/userphoto/default.gif »;
    endif; ?>
    <img class="user-image" src=" » alt= »display_name; ?> » title= »display_name; ?> » />

    Je ne suis pas sûre sûre de la syntaxe, mais je n’obtiens pas d’erreur et tout fonctionne correctement.
    Si quelqu’un a quelque chose à dire sur le code, qu’il se manifeste, car je suis bien consciente d’être loin d’être une pro du php, et j’aimerais beaucoup m’améliorer !!!

    #626337
    Dianed
    Participant
    Initié WordPress
    20 contributions

    Merci pour cette évolution !
    J’avais juste une question toute bête… tu l’as générée comment ta page avec les auteurs ?
    Sais tu si il existe un moyen pour insérer un moteur de recherche ou je ne sais quoi à cette longue liste d’auteur ?

    Merci,

    Diane

    #626338
    Dianed
    Participant
    Initié WordPress
    20 contributions

    Erratum : je crois avoir trouvé ! http://codex.wordpress.org/Author_Templates
    Merci

13 sujets de 1 à 13 (sur un total de 13)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.