此代码找不到作者页面吗?

时间:2014-01-19 作者:mr_bythatmuch

我正在使用此代码显示当前用户的作者页面。但是,如果用户的用户名中有空格,则无法找到URL。如果作者的用户名中有空格,如何让代码放置“-”。谢谢

<?php if ( is_user_logged_in() ) { echo \'<a href="\' . home_url() . \'/author/\' . get_the_author_meta( \'user_login\', wp_get_current_user()->ID ) . \'"> My personal page</a>\'; } else { echo \'<a href="\' . wp_login_url() . \'" title="Login">Login</a>\'; } ?>

2 个回复
SO网友:Rarst

以这种方式构建指向WP资源的URL是脆弱的,不应该这样做。

您应该使用适当的API函数来生成链接,在这种情况下可能get_author_posts_url().

SO网友:helgatheviking

将Rarst的答案与您发布的代码相结合,可以得到如下结果:

if ( is_user_logged_in() ) { 
   $user_ID = get_current_user_id(); ?>
   <a href="<?php echo get_author_posts_url( $user_ID ); ?>">My Personal Page</a>
<?php } else { ?>
   <a href="<?php echo wp_login_url(); ?>" title="Login">Login</a>
<?php }
未经测试,因此您的里程数可能会有所不同。

结束

相关推荐

如何检查“If Author”评论

我想在网站管理员/帖子作者的评论中添加额外的标记。是否对此进行检查,以及如何将其添加到下面的代码中?基本上,如果评论来自帖子作者,我想在他们的名字(作者或管理员)旁边添加HTML。谢谢 <div class=\"comment-meta commentmetadata \"> <?php printf(__(\'<cite class=\"fn\">%s</cite> <span