Chapelure - obtenir l'auteur?
Question
J'ai ma propre fonction appelée mie de pain (). Dans ce que j'appelle is_author () pour déterminer si je suis sur une page de l'auteur. Si cela est vrai, je voudrais savoir qui page de l'auteur que je suis sur. J'ai essayé the_author (), mais rien venu. Je regardais à travers le WP codex aussi. Quelqu'un peut-il aider?
La solution
Appel echo $GLOBALS['wp_query']->query_vars['author_name'];
et il devrait vous montrer l'auteur.
Vous pouvez également echo $GLOBALS['wp_query']->post->post_author;
ou echo $GLOBALS['wp_query']->queried_object->post_author;
.
espère ne pas confondre avec des tableaux et des objets.
Autres conseils
Alors j'ai tout compris en regardant le fichier author.php inclus avec le thème vingt dix. Apparemment, vous devez d'abord l'accès de gain aux postes avant de créer d'ariane. code suivant a fonctionné pour moi:
if (is_author()) {
the_post();
echo '<a href="">Author Archive for '.get_the_author().'</a>';
rewind_posts(); //or first post will be cut off
}
Parce que les gens sont souvent confus sur la façon d'obtenir des données à partir d'objets globaux / vars
Utilisez cette option pour obtenir une vue d'un aperçu de ce que vous pouvez utiliser à partir de la requête en cours / wp_query.
function inspect_wp_query()
{
echo '<pre>';
print_r($GLOBALS['wp_query'])
echo '</pre>';
}
add_action( 'template_redirect' ); // Query on public facing pages
add_action( 'admin_notices' ); // Query in admin UI
BTW:
// this:
global $wp_query;
$wp_query;
// is the same as
$wp_query;
// and as this:
$GLOBALS['wp_query'];
// You can do this with each other global var too, like $post, etc.
Comment obtenir réellement les données:
// Example (not the best one)
Object WP_Query -> post stdClass -> postdata Array
// How to get the data:
// Save object into var
$my_data = new WP_Query; // on a new object
// or on the global available object from the current request
$my_data = $GLOBALS['wp_query'];
// get object/stdClass
$my_post_data = $my_data->post;
// get Array
$my_post_data = $my_data['post'];