网站注册登陆弹框和作者列表

前台登陆弹框

前台弹框登陆注册搞定了,其实也是一个一直心心念的功能,刚开始本想着通过Bootstrap的模态框(Modal)来做的,无奈Modal背景遮罩一直有个bug,具体问题可见本站搜索框,而使用Modal最后竟然还是跳到后台。

最近看到了一个使用ajax提交的文件感觉挺不错的,于是搬运过来,不过有一个问题还没有解决:登陆和退出后返回到首页,而不是当前页面。待解决!

参考方法:https://www.thinbug.com/q/52791880

界面有点单调,有时间再美化一下。
前台登陆框

作者列表

折腾中想到之前弄企业网站时会有一个公司TEAM显示,于是想到能不能在网站弄一个作者列表呢?事实证明我对WordPress了解的还是太少了,查资料才发现原来WP自带有一个作者列表函数:

php

wp_list_authors( $args );

默认用法:

php

$args = array(
    'orderby'       => 'name', 
    'order'         => 'ASC', 
    'number'        => null,
    'optioncount'   => false, 
    'exclude_admin' => true, 
    'show_fullname' => false,
    'hide_empty'    => true,
    'echo'          => true,
    'feed'          => [empty string], 
    'feed_image'    => [empty string],
    'feed_type'     => [empty string],
    'style'         => list,
    'html'          => true 
); 

关于上面参数详细说明就在这里说了,使用这个方法后只显示作者名称和文章数等信息,但不可以显示头像,这样就感觉不够完美了。

py

wp_list_authors('show_fullname=1&optioncount=1&orderby=post_count&order=DESC&number=3');

经过不断查资料发现了另外一个函数。

php

new WP_User_Query($args);

关于此函数的详细情况可以查阅WordPress中wp-includes/user.php文件。

php

$args = array(
    // 文章数量
    'orderby' => 'post_count',
    // 倒序
    'order' => 'DESC',
);
 
// The Query
$user_query = new WP_User_Query( $args );
 
// User Loop
if ( !empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
        // var_dump($user); 输出更多的查询结果
        echo ' '.get_avatar( $user->user_email,56,null,$user->display_name).'
              '.$user->display_name.'
              '.count_user_posts($user->ID).' ';
    }
}

最后虽然成功输出作者列表:作者头像、作者名称和文章数,但可惜的是排序竟然失效了。

不知问题出在哪里???留待后续解决

最后就是趁着双11活动又把主机续费了一年,虽然还有很久到期,但续费优惠活动不是时时有,且遇且珍惜吧,真怕到时遇到天价续费而要搬家就尴尬了。。。

那年 • 这天
写于2022年11月11日
酸甜苦辣咸,五味调和,共存相生,百味纷呈。

赞助 点赞 0 unread messages

XI, Xi, 青灯暮雨, 灰常记忆, 段先森, 阿和, 独元殇等人对本文发表了23条热情洋溢的评论。
  • Xi说道: 2
    1.登录或退出登录前获取当前url作为参数传入函数,执行后跳转至该参数; 2.wp貌似也支持直接写sql调用吧
    1. 老王说道:
      回复 Xi: 有时间再慢慢折腾这个。😊
      1. XI说道: 0
        回复 老王: 单用户,正常情况都在隐藏后台地址,你还主动暴露,没防护措施的话,暴力破解太容易
        1. 老王说道:
          回复 XI: 开源程序的后台登陆地址貌似好多人都知道吧,再说我这个站也没啥内容可以偷的。。。 ::wb:wl::
          1. XI说道: 0
            回复 老王: 可以指定后台地址,还可以绑定登录域名
            1. 老王说道:
              回复 XI: 我已经把后台地址改了,指定域名有点费域名。。。😂
              1. XI说道: 0
                回复 老王: 搞个二级域名,比如绑定admin.xxx.xx,其他域名都访问不了后台
                1. 老王说道:
                  回复 XI: 是哦,把二级域名给忘记了! ::wb:wl::
  • 青灯暮雨说道: 0
    或者直接用 location.reload() 刷新页面
    1. 老王说道:
      回复 青灯暮雨: 谢谢,有时间我试试看!☕
  • 青灯暮雨说道: 0
    不是很懂 PHP,但是逻辑应该都差不多吧😂,登录的时候获取请求的 url,把 [document.location.href = ajax_auth_object.redirecturl;] 替换成这个 url 就可以了吧
  • 灰常记忆说道: 2
    😂你还有时间折腾主题?
    1. 老王说道:
      回复 灰常记忆: 被反复的疫情快整疯了,不找点事做更难受。。。
  • 段先森说道: 1
    我还以为是别人要注册登录呢,哈哈
    1. 老王说道:
      回复 段先森: 一直没人注册,所以我把注册关了。😭
  • 阿和说道: 6
    所以你搞个登录是想要干嘛?
    1. 老王说道:
      回复 阿和: 晕死,不登陆怎么发文章。。。 ::wb:wl::
      1. 阿和说道: 6
        回复 老王: 呃,是你自己要登录呀,还以为你也要搞个我那样的登录了才能发评论呢。。。话说之前怎么登录的?
        1. 老王说道:
          回复 阿和: 之前要去后台专门的登陆页面,如果要登录后才发评论会不会没人发呀?
          1. 阿和说道: 6
            回复 老王: 我会发的,哈哈哈。不过你这里都没有垃圾评论,倒是不需要搞登录后发。
            1. 老王说道:
              回复 阿和: 其实垃圾评论还是有的,不多,在后台基本都被拦截下来了。。。
  • 独元殇说道: 2
    这是买的哪儿的主机呢?
    1. 老王说道:
      回复 独元殇: 阿里云的,现在好像有活动:https://www.aliyun.com/activity/new?userCode=zk6djbpq
  • 发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注