Vous n'êtes pas identifié.
Annonce
Mettez-vous à jour ! WordPress 3.3.2 est disponible en français.
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook, Google + et sur Twitter
#1 08-02-2012 11:46:44
- ricochet
- Habitué WP
- Date d'inscription: 28-10-2010
- Messages: 72
problème de requête sql sur page auteur personnalisée.
Bonjour,
Ma configuration WP actuelle
- Version de WordPress : 3.3.1
- Version de PHP/MySQL :
- Thème utilisé : perso
- Extensions en place :
- Nom de l'hebergeur :
- Adresse du site :
Problème(s) rencontré(s) :
bonjour à tous,
j'ai fait une page auteur personnalisée qui fonctionne comme suit:
l'url de la page auteur perso, est de type: http://monSite.com/prenom-nom donc exemple: http://monsite.com/jean-dupond
pour chaque page auteur est associé le même template de page que j'ai crée (profileAuteur).
jusque là, tout fonctionne, pas de souci.
mais pour afficher les infos concernant l'auteur, là j'ai un problème et voilà comment je fais:
puisque le titre de ma page est le nom de l'auteur, je récupère le nom comme suit:
Code: html
$page_data = get_page( $page_id );
$content = apply_filters('the_content', $page_data->post_content);
$maxArticles = 10000;
global $wp_query;
$selected = str_replace( " ", "-", strtolower($wp_query->post->post_title));
et maintenant que j'ai le nom de l'auteur, je n'arrive pas à faire ma requête sql pour charger les infos de l'auteur. je procède comme ça:
Code: html
/*$sql = 'SELECT DISTINCT display_name,ID FROM '.$wpdb->users. ' WHERE post_title =('.$selected') ORDER BY display_name';*/
/*$wpdb->get_var( "SELECT post_name FROM $wpdb->posts WHERE post_title = '" . $posttitle . "'" )*/
$authors = $wpdb->get_results('SELECT DISTINCT display_name,ID FROM $wpdb->users where post_title = "'.$selcted.'%"');
/*$authors = $wpdb->get_results("SELECT DISTINCT display_name,ID FROM $wpdb->users WHERE post_title = '" . $selected . "'");*/echo $authors;
ce qui est en commentaire sont mes différents essais mais ça ne marche pas.
l'un d'entre vous aurait-il une idée?
merci à tous et bonne journée.
Hors ligne
#2 08-02-2012 16:01:31
- Lumière de Lune
- Admin nomade

- Lieu: Maroc / France
- Date d'inscription: 15-08-2007
- Messages: 11992
- Site web
Re: problème de requête sql sur page auteur personnalisée.
Si je comprends bien, tu veux faire une page pour présenter tous les articles d'un auteur, avec avant la liste des articles, une présentation de l'auteur ?
Dans ce cas là, il est contreproductif, en termes wordpress, de faire des pages spécifiques.
Les auteurs sont des données, et il y a déjà en standard une page d'archive par auteur, author.php
Le fonctionnement interne de wordpress gère tout ce que tu essaye de faire (cad en gros, quand on clique sur le lien auteur, appeler les articles écrits par ce membre)
Tu peux personnaliser le template author.php en rajoutant des éléments du profil. Pour cela tu as les fonctions de template particulières aux auteurs.
(à voir dans le codex ^^)
Si tu veux aller plus loin que le profil de base fourni par wordpress, tu as pas mal de plugins qui te permettent d'étendre les fonctionnalités.
Par exemple tu peux utiliser tinymce (l'éditeur visuel) pour la biographie, ce qui revient à en faire une vraie page.
Tu peux aussi utiliser certains plugins qui rajoutent des champs dans la fiche auteur.
Et ça marchera sans se casser la tête avec les requetes. Et sans être obligé de remplacer à la mimine toutes les occurrences du lien auteur dans toutes les templates de ton theme.
Hors ligne
#3 08-02-2012 16:39:37
- ricochet
- Habitué WP
- Date d'inscription: 28-10-2010
- Messages: 72
Re: problème de requête sql sur page auteur personnalisée.
Bonsoir Lumière de Lune et bonsoir à tous,
merci pour tes conseils mais ma page auteur personnalisée est déjà faite.
c'est du sur mesure et j'avoue ne jamais m'être penché avant sur author.php.
donc maintenant que j'ai tout fait, je préfererais trouver une réponse à ma question initiale?
si vous aviez une idée?
merci Lumière de Lune et merci à tous.
Hors ligne
#4 08-02-2012 18:46:01
- Lumière de Lune
- Admin nomade

- Lieu: Maroc / France
- Date d'inscription: 15-08-2007
- Messages: 11992
- Site web
Re: problème de requête sql sur page auteur personnalisée.
Le seul moyen est de faire du débugage
avec var_dump ($var ) tu affiches le contenu de chaque variable
ensuite tu vois où ça coince
J'insiste néanmoins lourdement, avec toute mon expérience sur wordpress depuis des années... ton système est bancal, tu est obligé de recoder plein de choses qui existent déjà. Le "boulot" de recopier le code de ton template de page dans author.php représente à la louche deux ou trois heures de travail, et ça t'évitera plein d'ennuis dans le futur, y compris du duplicate content avec les urls auteur standard.
Après tu fais comme tu veux, mais l'aide sur un forum, c'est aussi dire à quelqu'un "tu vas dans la mauvaise direction"
Hors ligne
#5 08-02-2012 18:59:13
- Guy
- Blogueur
- Date d'inscription: 07-04-2011
- Messages: 6772
Re: problème de requête sql sur page auteur personnalisée.
et sinon est ce normal que l'on ait une définition de variable appelée $selected et une utilisation dans la table de $selcted?
Hors ligne
#6 09-02-2012 03:14:52
- ricochet
- Habitué WP
- Date d'inscription: 28-10-2010
- Messages: 72
Re: problème de requête sql sur page auteur personnalisée.
merci Lumière de Lune, j'y pensais justement ce matin, donc je vais essayer.
guy, quel est le problème avec cette variable?
on est d'accord que l'on ne confond pas "SELECT" et $selected, la variable aurait pu avoir n'importe quel autre nom. ça fonctionne parfaitement lorsque j'utilise "WHERE ID IN ('.$selected') ORDER..."
bonne matinée à ous.
Hors ligne
#7 09-02-2012 09:06:32
- ricochet
- Habitué WP
- Date d'inscription: 28-10-2010
- Messages: 72
Re: problème de requête sql sur page auteur personnalisée.
bonjour à tous,
j'ai finalement pris la décision de garder ma page perso pour deux raisons:
1) j'ai déjà une page auteur (authors.php) qui presente de façon sommaire tous les auteurs (auteurs hein, pas les souscripteurs...) et comme celle que je viens de construire est beaucoup plus compète, vignettes des articles, interview personnalisé de l'auteur, infos supplémentaires le concerannt... bref une page très complète.
2) ça m'aurait certainement demandé pas mal de travail donc comme j'aiq trouvé la solution à mes problèmes, ben je continue comme ça.
Lumière de Lune, je te donnerais (si ça t'intéresse l'url lorsque la page sera en ligne).
pour finir, il y a peut-être des personnes qui seront intéressées par ma question de départ, donc voilà la solution pour la requête mySql:
Code: html
$selected = $wp_query->post-post_title;
$authors = $wpdb->get_results("SELECT DISTINCT display_name, ID FROM $wpdb->users WHERE display_name = '$selected'");
merci et bonne matinée à tous.
Dernière modification par ricochet (09-02-2012 09:06:54)
Hors ligne
#8 09-02-2012 09:45:24
- Guy
- Blogueur
- Date d'inscription: 07-04-2011
- Messages: 6772
Re: problème de requête sql sur page auteur personnalisée.
ricochet a écrit:
$selected = str_replace( " ", "-", strtolower($wp_query->post->post_title));
$authors = $wpdb->get_results('SELECT DISTINCT display_name,ID FROM $wpdb->users where post_title = "'.$selcted.'%"');
Je ne confondais pas le select de SQL et la variable, je vois dans ton message que tu fais référence à une VARIABLE $selected à laquelle tu affectes une valeur et dans la requête c'est la VARIABLE $selcted (en PHP pour moi, à moins qu'il manque un bout de code, cela fait 2 variables différentes) qui est utilisé.
Sinon les fonctions de Wordpress ne convenaient pas? celles avec get_the_author, get_the_author_meta etc....
EDIT: ou tout simplement get_user_by.
Dernière modification par Guy (09-02-2012 10:14:49)
Hors ligne
#9 09-02-2012 10:33:25
- ricochet
- Habitué WP
- Date d'inscription: 28-10-2010
- Messages: 72
Re: problème de requête sql sur page auteur personnalisée.
bonjour Guy,
Sinon les fonctions de Wordpress ne convenaient pas? celles avec get_the_author, get_the_author_meta etc....
je ne pense pas? le problème c'est que j'avais tout construit sur le retour de la requête et il me fallait donc récupérer la même structure. les fonctions ne marchaient donc pas.
je précise que je ne viens pas de php et que je ne suis pas fanatique de la syntaxe que je trouve quand même un peu confuse. ça ne m'aide pas.
je perds beaucoup de temps avec la syntaxe php.
personnellement je lui préfère par exemple et de loin l'AS3... qui me semble plus clair, plus facile à lire.
mon propos n'est pas de dénigrer php bien sûr, c'est simplement que j'ai du mal.
je vous souhaite une belle journée.
Dernière modification par ricochet (09-02-2012 10:34:59)
Hors ligne
#10 09-02-2012 11:04:13
- Guy
- Blogueur
- Date d'inscription: 07-04-2011
- Messages: 6772
Re: problème de requête sql sur page auteur personnalisée.
C'est un peu le problème, tu réinventes la roue, ce qui en soi n'est pas négatif mais qui prend beaucoup de temps pour tout juste arriver à fabriquer un objet ovale.
PHP est un langage extrêmement simple (je te l'accorde peut être trop simple) mais qui jusqu'à maintenant a fait tout de même ses preuves et sa simplicité fait qu'il est extrêmement rapide de le maitriser quand on a l'habitude d'autres langages plus complexes.
Les développeurs de Wordpess ont pris le temps également de faire une API, autant s'en servir et que dirait on si dans Wordpress on ne pouvait pas récuperer l'ID d'un user sans devoir aller faire les interrogations dans la base de données.
Par défaut Wordpress propose une page pour les auteurs, cette page est modifiable et customisable à loisir en se servant de HTML, CSS et PHP, si tu veux rajouter du javascript, pourquoi pas. Si tu veux faire de l'AS3, rien ne t’empêche de faire les passerelles qu'il faut entre les serveurs PHP et/ou MySQL.
En gros tu te compliques la vie en voulant te la simplifier 
Hors ligne
#11 10-02-2012 03:21:38
- ricochet
- Habitué WP
- Date d'inscription: 28-10-2010
- Messages: 72
Re: problème de requête sql sur page auteur personnalisée.
bonjour Guy et bonjour à tous,
d'abord, merci pour ta réponse très juste.
j'ajouterais si tu me le permets:
sa simplicité fait qu'il est extrêmement rapide de le maitriser quand on a l'habitude d'autres langages plus complexes.
personnellement (et uniquement personnellement), j'ai eu (et j'en ai toujours) du mal avec la syntaxe de php que je n'apprécie pas particulièrement.
pour le reste (WP api et page auteur) je suis bien sûr d'accord avec toi sauf que je n'ai pas emprunté ce chemin... l'habitude de tout faire peut-être?
je te souhaite une bonne matinée ainsi qu'à tous.
Hors ligne