WordPress使用Walker类自定义评论列表-蚂蚁资源

WordPress使用Walker类自定义评论列表

前面我们学到过wordpress的导航菜单可以使用Walker类来自定义结构,更加灵活的输出我们想要的HTML结构,更方便的匹配样式。wordpress的评论列表也一样可以使用Walker类来实现灵活的评论列表结构,下面举个例子说明Walker_Comment的用法。

此方法可自定义每一个评论HTML结构,随便你怎么写都行。

以下例子适用于themebetter官网评论样式。

//自定义评论输出类
class My_Comment_Walker extends Walker_Comment
{
    public function start_lvl(&$output, $depth = 0, $args = array())
    {
        $output .= '';
    }
    public function end_lvl(&$output, $depth = 0, $args = array())
    {
        $output .= "";
    }
    // 处理每一条评论内容,这个函数是重点
    public function start_el(&$output, $comment, $depth = 0, $args = array(), $id = 0)
    {
        /* 首先是每一条评论的各种参数 */
        $id = $comment->comment_ID; // 获取评论id
        $name = $comment->comment_author; // 获取评论作者
        $url = $comment->comment_author_url; // 获取评论作者url
        $date = $comment->comment_date; // 获取评论日期
        $avatar = get_avatar($comment->comment_author_email, 64, '', $name, array('class' => 'comment-avatar')); // 通过评论邮箱地址,从 gravatar.com 获取头像
        // 评论内容处理,表情代码也在这里替换成<img>图片。
        $content = str_ireplace(array("\r\n", "\n"), "<br>", $comment->comment_content); // 把换行符替换成 <br>
        /* 接着是输出 html 拼接 */
        if ($depth == 0) {
            // 如果是一级评论
            /* 这里可以根据需要,任意拼接每一条评论的参数 */
            $output .= '<div class=comment-item  id="comment-' . $id . '">';
            $output .= _get_the_avatar($user_id = $comment->user_id, $user_email = $comment->comment_author_email);
            $output .= '<div class="text">' . $content . '</div>';
            $output .= '<footer><span class="user"><a href="' . $url . '">' . $name . '</a></span>';
            $output .= '<time>' . $date . '</time>';
            $output .= '<a href="javascript:;" class="reply" etap="comment_reply" data-id="' . $id . '">回复</a>';
            $output .= '</footer>';
        } else {
            // 非一级评论,二级评论、三级评论等等
            //$for = get_comment_author($comment->comment_parent); // 获取父评论作者名,@ 时用到
            /* 这里同样可以根据需要,任意拼接每一条评论的参数 */
            // $output .= "<a href=\"$url\">$name</a>:@$for $content"; // 添加 @ 符号
            $output .= '<div class=comment-item  id="comment-' . $id . '">';
            $output .= _get_the_avatar($user_id = $comment->user_id, $user_email = $comment->comment_author_email);
            $output .= '<div class="text">' . $content . '</div>';
            $output .= '<footer><span class="user"><a href="' . $url . '">' . $name . '</a></span>';
            $output .= '<time>' . $date . '</time>';
            $output .= '<a href="javascript:;" class="reply" etap="comment_reply" data-id="' . $id . '">回复</a>';
            $output .= '</footer>';
        }
    }

    public function end_el(&$output, $comment, $depth = 0, $args = array(), $id = 0)
    {
        $output .= "</div>";
    }

使用方法

 <?php
wp_list_comments(array(
        'walker' => new My_Comment_Walker(),
    ));
    ?>

效果我就不给图了,自己去官方看吧,好像和我的评论有点像,我好像也是扒的他…..

关于Walker类的使用,建议配合此文阅读WordPress自定义导航菜单处理类Walker,最好动手写一写,看看输出的内容变化,更能理解。

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.antziyuan.com",如遇到无法解压的请联系管理员!

蚂蚁资源 » WordPress使用Walker类自定义评论列表

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
该资源仅供学习和研究传播,大家请在下载后24小时内删除,一切关于该资源商业行为与我们无关。 请勿将该软件进行商业交易、转载等行为,该软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
找不到素材资源介绍文章里的示例图片?
对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
蚂蚁资源
大家都喜欢的资源网站!
  • 49会员总数(位)
  • 801资源总数(个)
  • 8本周发布(个)
  • 8 今日发布(个)
  • 185稳定运行(天)

提供最优质的资源集合

立即查看 了解详情
升级SVIP尊享更多特权立即升级