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?

Était-ce utile?

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'];
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top