get_author_posts_url () Não funciona

Tudo no arquivo single.php no tema infantil Genesis .

Eu tenho um echo de divs e entre eu em uma das anchors estou tentando inserir o URL de publicação do autor através de uma variable , assim:

 function my_function() { $author = get_the_author_meta( $post->post_author ); $author_link = get_author_posts_url($author); $author_avatar = get_avatar_url(get_the_author_meta( $post->post_author )); $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); //.. echo '
// ..
By Author
'
} genesis();

Eu tentei: the_author_posts_url(); , get_the_author_meta('user_url'); , get_author_posts_url(); , get_author_posts_url( get_the_author_meta( 'ID' ) ); Toda vez que o link está vazio ou ele gera

 http://localhost/author 

sem produzir o autor específico.

O código completo do single.php está aqui:

function custom_entry_content () {$ author = get_the_author_meta ($ post-> post_author);

 $author_link = get_author_posts_url($author); $author_avatar = get_avatar_url(get_the_author_meta( $post->post_author )); $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); echo ''; } // Removes Published by and time data from before the post content area remove_action( 'genesis_entry_header', 'genesis_post_info', 12); add_filter( 'genesis_attr_site-inner', 'remove_top_padding'); function remove_top_padding( $attributes ) { $attributes['class'] = 'container box nopadding'; return $attributes; } // Adds left padding to content add_filter( 'genesis_attr_content', 'padding_left'); function padding_left( $attributes ) { if ( 'full-width-content' === genesis_site_layout() ) $attributes['class'] = ''; else $attributes['class'] = 'col-md-8 single-post-entry'; return $attributes; } genesis(); 

Muito obrigado antecipadamente!

Solutions Collecting From Web of "get_author_posts_url () Não funciona"

get_the_author_meta ()

get_author_posts_url ()

get_avatar_url ()

Você está usando as três dessas funções incorretamente. Verifique sempre a documentação primeiro. get_the_author_meta() não requer nenhum argumento, mas você pode fornecer o campo que deseja retornar. get_author_posts_url() requer o user_id. get_author_posts_url() e este é um pouco mais flexível e levará um user_id ou vários objects.

O exemplo de código abaixo deve funcionar …

 $author_id = get_the_author_meta( 'ID' ); $author_link = get_author_posts_url( $author_id ); $author_avatar = get_avatar_url( $author_id ); $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); echo '
By Author
';

Obrigado a todos, que ajudaram, parece que o principal problema era que eu não tinha declarações de global $post dentro da function.

Além disso, depois de ajustar a declaração do autor_id tudo começou a funcionar, aqui está o código final:

 function single_post_entry() { global $post; $author_id = $post->post_author; $author_link = get_author_posts_url( $author_id ); $author_avatar = get_avatar_url( $author_id ); $featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); // .. echo '
By Author
'; }