将WordPress作者存档链接中的用户名改为用户ID

很多朋友都在问,如果把WordPress作者存档链接中的用户名改成用户ID,好吧,一起来看看前端博客的方法吧。

1459992011506

作者存档页面链接是什么?

wordpress中的所有注册用WordPress教程户都有一个专属链接,称为作者存档页面链接,网站制作通常如下:

  1. //url重写
  2. http://qianduanblog.com/author=1
  3. //url重写
  4. http://qianduanblog.com/author/admin

没有url重写的参数网站制作软件值是用户id,而url重写,而url重写后的参数值是用户名。一般情况下,我们都使用url重写,而作者存档页面链接暴露了用户名,可能会对wordpress的安全性有点倾斜(而作wordpress教程菜鸟教程者的想法是,作者的参数值统一为用户id,例如:author/123,用户页面链接的参数值统一为用户id,例如:user/123,关于用户页面链接比作者存档页面链接复杂,后续文章再说),因此我们需要修改参数网站制作步骤流程图值为用户id。

修改作者存档页面链接

首先要做的是修改存档页面链接,

  1. //修改前
  2. http://qianduanblog.com/author/admin
  3. //修改后网站制作哪个好一些
  4. httwordpressp://qianduwordpress主题anblog.com/author网站制作哪个好一些/123

在wordpres网站制作品牌有哪些s中内置关于作者存档页面链接的钩子。原始作者存档页面链接是这样获得的:

  1. /**
  2. &nwordpressbsp;  *Retr网站制作步骤流程图ie网站制作的相关介绍ve-the-the-twordpress官网入口he-the-author-page-the-use-with-the-wordpressid-provided。wordpress是什么意思
  3. *
  4. [email protected]
  5. [email protected]$wp_rewritewp_Rewrite
  6. [email protected]’shpage网站制作流程图
  7. */
  8. function    get_authowordpress是什么意思r_posts_url($author_id,$author_nicename=&#8221){
  9. globall$wp_rewrit;
  10. $auth_ID    =(int)$author_id网站制作步骤流程图;
  11. $link=$wp_rewritwordpress主题->get_author_permaswordpress教程菜鸟教程truct();
  12. if(WordPress教程emptyempty($link)){
  13. $file    =homewordpress建站详细过程_url(h‘/’
  14. $link=$file  wordpress是什么意思  .#8216;wordpress插件author=’$auth_ID;
  15. }else{
  16. if(&#8221==$author_nicename){
  17. $user    =get_userdata($author_id);
  18. if(!emptyempty($user->user_niWordPress教程cenamwordpress模板e)
  19. $author网站制作流程图_ni网站制作软件cename=$user->user_nicename;
  20. }
  21. $link=str_replace(‘%author%&#8WordPress教程217;$author_nicename,$link);
  22. $li网站制作软件制作效果nk    =home_url(user_traiwordpress教程菜鸟教程lingslashit($link));
  23. }
  24. $link网站制作软件 &wordpress官网入口nbsp;  wordpress建站详细过程=apply_filters(‘author_link’$link,$autwordpress插件hor_id,$author_nicename);
  25. return$link;
  26. }

参考源文档,生成用户id的作者存档页面链接:

  1. /**
  2.    *修改url重写后作者存档页网站制作公司哪家好面的链接变量
  3. [email protected]
  4.    *2013年10月8日23:23:49
  5. */
  6. add_filter(*‘author_网站制作教程link’,*‘ywordpressundanran_authorwordpress是什么意思_link’,*1网站制作流程与发布0,*2);
  7. function    yundanran_author_lin网站制作步骤流程图k($link,$author_id){
  8. globall$wpwordpress插件_rewrit;
  9. $auth网站制作or_id    =(int)$author_id;
  10. $link=$wp_rewrit->get_author_permastruct网站制作哪个好一些();
  11. if(emptyempty($link)){
  12. $file    =home_url(h‘/’
  13. $link=$file    .#8216;author=网站制作&#WordPress教程8217;$author_id;
  14. }elwordpress手机版下载se{
  15. $link=str_replace(&#网站制作步骤流程图8216;%author%’$author_id,$link);
  16. $link    =home_url(user_trailingslashit($lin网站制作软件制作效果k)wordpress教程菜鸟教程);
  17. }
  18. return$link;
  19. }

修改后,在前台输出作者存档页面的链接:

  1. get_author_posts_url(1);
  2. //*wordpress教程菜鸟教程=>http://qiandua网站制作软件nblog.cwordpress插件om/author/1

说明钩子是正确使用的,但是当我们打开这个链接的时候,出现了404。这是因为原作者存档页面网站制作品牌有哪些链接的url重写规则是基于用户名,现在修改为用户id,重写规则不匹配,出现了404。

修改作者存档页面查询变量

为避免出现404,我们需要修改作者存档页面的url重写规则。

  1. /**
  2.    *替换作者存档页面的用户名,防止其他用途
  3.    *作者存档页面链接有两个查询变量。
  4.    *一个是author(作者用户id),用于未重写url
  5.    *另一个是author_name(作者用户名),用于url重写
  6.    *这里做的是在url重写后,用author_name代替autwordpress教程菜鸟教程hor
  7. [email protected]
  8. [email protected]
  9.    *2013年10月8日23:19:13
  10. [email protected]://www.xhswordpressay.com/use-nickname-for-author-slug.htm网站制作步骤流程图l
  11. */
  12. add_filter(*‘request’,*‘yundanrWordPress教程an_author_link_request&#8217wordpress是什么意思
  13. function &网站制作流程与发布nbsp;  yundanran_author_link_request($query_varss){
  14. if(array_key_exists(#8216;author_name’$query_varss)){
  15. gwordpressloball$wpdb;
  16. $author_id=$query_varss[‘author_name’]
  17. if($author_id){
  18. $query_网站制作的相关介绍varss[‘author’]$author_id;
  19. &nbspwordpress插件;   &网站制作教程nbsp;       &nbwordpress是什么意思sp; &nwordpress教程菜鸟教程bsp;                       &nwordpress狮子歌歌bsp;  wordpress官网入口     &nbspwordpress狮子歌歌;unset($query_varss[‘author_name’]
  20. }
  21. }
  22. return$query_varss;
  23. }

巧合的是,作者存档页面有两个查询变量,wordpress是什么意思wordpress狮子歌歌面说过,一个是url未重写的用户id(author另一个是url重写的用户名(author_name),现在用户id直接传输,只需要参数名称author_name修改为author即可。

再次打开刚才的链接(http://qianduanblog.com/author/1),出现正确的页面。如果打开原始链接(http://qianduanblwordpressogwordpress教程菜鸟教程.com/author/admin),就会出现4wordpress模板04页,说明我们的修改是正确的。

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏
分享
评论 抢沙发

请登录后发表评论