J'ai environ 50 utilisateurs. C'est assez facile de tous les énumérer. Cependant, ils sont associés à un type de publication personnalisé spécial via un champ postmeta appelé wpp_agents.
J'ai donc besoin de lister les utilisateurs, mais aussi le titre de l'article (lié à l'article).
Je suis un mysql mais je suis assez d'accord avec php.
Voici ce avec quoi je joue:
$data = $wpdb->get_results(
"SELECT $wpdb->users*,
"SELECT display_name, user_email
FROM $wpdb->users
LEFT JOIN $wpdb->usermeta ON
user.ID=wpp_agents;",
ARRAY_A
);
mais ce n'est pas juste.
Je crois que j'ai besoin de SELECT * FROM $ wpdb-> utilisateurs LEFT JOIN $ wpdb-> postmeta
mais alors pas sûr.
toute aide est grandement appréciée.
Heureusement, il existe une fonction qui va générer exactement cette chaîne de requête pour vous (toujours en train de rire :)).
Le voici: get_posts_by_author_sql
@ queryposts.com , qui ressemble à la source principale .
En détail, il construit la partie WHERE
pour vous, que vous pouvez insérer dans votre requête.
Donc, introduisez simplement l'ID utilisateur et construisez votre chaîne que vous pouvez utiliser dans votre requête:
foreach ( $users as $user )
{
$where = get_posts_by_author_sql( 'wpp_agents', true, $user->ID );
echo '<pre>';
var_dump( $where );
echo '</pre>';
}
Peut-être trouvez-vous un moyen de modifier simplement la requête principale pour la cracher lors d’un seul appel. Astuce: Vous devriez avoir un mécanisme de cache sérieux ou ajouter le résultat comme transitoire. Cela peut devenir intense.