您正在一个已打开的锚定标记内回传作者链接生成器,这会导致错误。请尝试以下代码:
Method 1
<?php if ( !is_page() ) :
$author_posts_url = the_author_link();
$posts_by_title = sprintf(
__( \'Posts by %1$s ( @%2$s )\', \'p2-breathe\' ),
get_the_author_meta( \'display_name\' ),
get_the_author_meta( \'user_nicename\' )
); ?>
<a href="<?php echo esc_url( $author_posts_url ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="author-avatar">
<?php echo get_avatar( $author_posts_url ); ?>
</a>
<?php endif; ?>
<div class="entry-meta">
<?php if ( ! is_page() ) : ?>
<a href="<?php echo get_author_posts_url(); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="entry-author"><?php the_author(); ?></a>
<?php endif; ?>
<span class="entry-date">
注意到我替换了
echo esc_url( the_author_link() );
具有
get_author_posts_url()
它将只返回URL,而不是完整的锚。
您可能还想使用get_author_posts_url(the_author_ID())
如果代码一开始不起作用。
Method 2
如果您没有在循环中运行此代码,并且无权访问作者ID,则可以更改以下行:
<a href="<?php echo esc_url( the_author_link() ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="entry-author"><?php the_author(); ?></a>
收件人:
<?php the_author_link(); ?>
它仍将返回指向作者页的链接,但没有
class="entry-author"
我认为这并不是什么好事,因为你可以调整你的css来达到同样的效果。