wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程

WordPress提交评论ajax翻页的效果会很大的提高用户体验度,虽然我们一般的个人WordPress博客评论也不会有很多,但是用户体验至上嘛,所以WordPress主题站小编为大家分享WordPress实现提交评论ajax翻页效果教程,希望能给大家能用得上。

最终效果如下图所示:

165b81296a165e21986c84b6f9005d21.gif

在使用AJAX加载评论时,需要在后台设置-评论设置,其中每页显示评论数量可以根据你的需要自定义。

WordPress纯代码实现提交评论ajax翻页效果

添加“加载更多”按钮

首先我们在主题中查找评论分页功能 paginate_comments_links()函数,并将其替换为以下代码。若找不到此函数,请在代码

后面放置代码。

$cpage = get_query_var('cpage') ? get_query_var('cpage') : 1;

if( $cpage > 1 ) {

echo '

More comments

var ajaxurl = \'' . site_url('wp-admin/admin-ajax.php') . '\',

parent_post_id = ' . get_the_ID() . ',

cpage = ' . $cpage . '

';

}

由于默认显示最后的评论页面,$cpage 所以等于注释页面的最大数量。条件 if( $cpage > 1 ) {意味着两件事情同时发生 – 在下列情况下输出加载更多按钮和脚本。

无限加载 jQuery代码

jQuery(function($){

//加载更多按钮点击事件

$('.comment_loadmore').click( function(){

var button = $(this);

//减少当前评论页面的值

cpage - ;

$.ajax({

url : ajaxurl,

data : {

'action': 'cloadmore',

'post_id': parent_post_id,//当前文章

'cpage' : cpage,//当前评论页

},

type : 'POST',

beforeSend : function ( xhr ) {

button.text('加载中...');

},

success : function( data ){

if( data ) {

$('ol.comment-list').append( data );

button.text('加载更多');

//如果最后一页,则删除按钮

if ( barley.cpage == 1 )

button.remove();

} else {

button.remove();

}

}

});

return false;

});

});

这里减少 cpage 了的值,因为评论页以降序显示。接着就是加载这个 JQ 到页面,这里就不详细说了。

实现功能

最后我们在 functions.php 中插入下面代码:

add_action('wp_ajax_cloadmore', 'comments_loadmore_handler'); // wp_ajax_{action}

add_action('wp_ajax_nopriv_cloadmore', 'comments_loadmore_handler'); // wp_ajax_nopriv_{action}

function comments_loadmore_handler(){

global $post;

$post = get_post( $_POST['post_id'] );

setup_postdata( $post );

wp_list_comments( array(

'avatar_size' => 100,

'page' => $_POST['cpage'],

'per_page' => get_option('comments_per_page'),

'style' => 'ol',

'short_ping' => true,

'reply_text' => '回复',

) );

die;

}

至此,WordPress纯代码实现提交评论ajax翻页效果的教程就结束了,看到这里你应该也已经知道如何实现这个功能了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lombok的使用方法

文章目录0.Lombok简介1.在项目中添加Lombok的依赖2.在IDEA开发工具中添加Lombok插件0.Lombok简介 Lombok是一个实用的java工具,使用它可以消除java代码的臃肿,Lombok提供一系列的注解,使用这些注解可 以不用定义getter/setter、equals、构造…

世上最伟大的十个公式,质能方程排名第五

英国科学期刊《物理世界》曾让读者投票评选了“最伟大的公式”,最终榜上有名的十个公式既有无人不知的112,又有著名的Emc2;既有简单的-圆周公式,又有复杂的欧拉公式…… 从什么时候起我们开始厌恶数学?这些东西原本…

2000服务器文件共享,Win2000 Server实现对共享文件的监控

病毒的出现,使我们在共享文件时变得异常小心。那么,有没有办法监控共享文件的使用情况并加以管理呢?有,用Windows 2000 Server的文件共享监控功能就可以实现。Windows 2000 Server的共享管理功能在“计算机管理”中,它…

学成在线--1.CMS接口开发

文章目录0.定义CMS1.CMS页面管理2.需求分析3.模型类介绍4.定义请求及响应类型5.定义接口6.创建CMS工程结构7.Dao1)创建Dao,继承MongoRepository2)编写测试类分页查询测试添加删除修改8.Service9.Controller10.接口开发规范0.定义CMS 1&#…

django 进阶

django进阶 django的分页器 基础语法: View Code简单练习: View Code实例应用: View Code自定义分页: View Codeform表单系统 原生form View CodeDjango表单系统中,所有的表单类都作为django.forms.Form的子类创建&…

如何减小与“大牛”的差距

为什么同样的时间有的人可以漂亮的完成工作,而有些人废了很大的力气也没有完成? 前者我们常常称之为“大牛”,后者我们常常叫他们“菜鸟”。当然“大牛”都是相对而言的,“大牛”也不可能方方面面都非常厉害,换句话说大…

武侠乂怎么修改服务器,武侠乂怎么操作 按键功能详细介绍

武侠乂将在7月27日开启限量测试了,入手前的第一件事情当然要熟悉操作按键了,下面给大家带来的是武侠乂按键介绍,一起来看看吧。武侠乂将在7月27日开启限量测试了,玩家们马上就能体会到武侠吃鸡的快感,除了吃鸡模式外还…

09-完整性约束

本节重点: not null 与 defaultuniqueprimaryauto_incrementforeign key一、介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性 主要分为: PRIMARY KEY (PK) #标识该字段为该表的主键&#x…

学成在线--2.CMS前端页面查询开发

文章目录0.思路总结1.创建CMS模块的目录架构2.创建页面并配置路由1)在page目录新建page_list.vue,扩展名为.vue。2)在cms的router下配置路由。3)在base目录下的router导入cms模块的路由3.使用Table组件完善页面内容4.Api调用服务器…

学成在线--3.CMS页面管理开发(自定义条件查询)

文章目录0.需求分析1.服务端--Dao2.服务端--Service3.服务端--Controller4.前端1)page_list.vue中增加查询表单2)page_list.vue中添加数据模型对象3)在钩子方法中构建siteList站点列5.Api调用1)修改 cms.js,向服务端传…

动态生成表格、隐藏表格、选中删除任意行、jquery、输入验证

PS: 游戏公司后台开发,工作模式:996。 于是写博客这事也荒废了.... 想想还是写一点吧。 呵呵,请不要笑话我注释写这么多,习惯了,我上班写代码都是有注释的。 我建两个相似的表是为了,给后台使…

安装 PrestaShop 1.6 - 详细的安装指南

2019独角兽企业重金招聘Python工程师标准>>> 详细的安装指南 下载和解压 PrestaShop 程序代码包 你可以从 PrestaShop 官方下载最新的版本,下载地址为:http://www.prestashop.com/en/download. 这里你只有一个选项,只能下载最新的…

学成在线--4.CMS页面管理开发(新增页面)

文章目录1.定义新增页面接口1)在model工程中定义响应模型2)在api工程中添加接口2.新增页面服务端开发1)Dao2)Service3)Controller3.新增页面前端开发1)创建page_add.vue2)配置路由3)…

嵌套For循环性能优化

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。1 案例描述某日,在JavaEye上看到一道面试题,题目是这样的:请对以下的代码进行优化 Java代码 for (int …

python-study-17

复习 上节课复习1、什么是模块模块是一系列功能的集合体2、为何用模块拿来(内置或第三方的模块)主义,提升开发效率自定义模块可以让程序的各部分组件重用模块内的功能3、如何用模块大前提:模块是被执行文件导入使用,模…

学成在线--5.CMS页面管理开发(修改页面)

文章目录1.修改页面流程1)前端逻辑2)后端逻辑2.修改页面接口定义3.后端开发--Dao4.后端开发--Service5.后端开发--Controller1)根据id查询页面2)保存页面信息6.前端开发--页面处理流程7.前端开发--编写page_edit.vue8.前端开发--配…

Map四种获取key和value值的方法,以及对map中的元素排序

2019独角兽企业重金招聘Python工程师标准>>> 获取map的值主要有四种方法,这四种方法又分为两类: 一类是调用map.keySet()方法来获取key和value的值, 另一类则是通过map.entrySet()方法来取值, 两者的区别在于,前者主要…

HTTP 协议(详解)

HTTP协议简介:HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(www.world wide web)服务器与本地浏览器之间传输文本的传输协议。 http请求协议与相应协议HTTP协议包含浏览器发送数据到服务器需要遵循…

React Native集成Redux框架讲解与应用

学过React Native的都知道,RN的UI是根据相应组件的state进行render的,而页面又是由大大小小的组件构成,导致每个组件都必须维护自身的一套状态,因此当页面复杂化的时候,管理state会相当吃力的。而redux提供了一套机制来…

学成在线--7.CMS页面管理开发(异常处理)

文章目录1.异常处理的问题分析2.异常处理流程3.可预知异常处理1.自定义异常类2.异常抛出类3.异常捕获类4.异常处理测试1)定义错误代码2)异常处理测试4.不可预知异常处理1.定义异常捕获方法1)异常抛出测试2)异常捕获方法1.异常处理…