如何在 WordPress 中使用 Ajax 实现'加载更多帖子”按钮?
Nov 30, 2024 pm 10:03 PMWordPress 中加载更多帖子 Ajax 按钮
通过 Ajax 加载更多帖子是内容量较大的网站的常见需求。这允许用户浏览多个页面的内容而无需刷新整个页面。在本文中,我们将探讨在 WordPress 中使用 Ajax 实现“加载更多帖子”按钮所涉及的步骤。
创建模板代码
首先创建一个您希望在其中显示“加载更多帖子”按钮的模板文件。在此示例中,我们将使用index.php。将以下代码添加到您的模板中:
<div>
登录后复制
加载更多帖子的函数
接下来,在functions.php文件中创建一个函数来处理Ajax调用用于加载更多帖子。此函数将根据当前页面和每页帖子数查询下一组帖子。
function more_post_ajax(){ // Get parameters from the Ajax request $offset = $_POST["offset"]; $ppp = $_POST["ppp"]; // Prepare query arguments $args = [ 'suppress_filters' => true, 'post_type' => 'post', 'posts_per_page' => $ppp, 'offset' => $offset, ]; // Perform the query $loop = new WP_Query($args); // Output the posts while ($loop->have_posts()) : $loop->the_post(); the_content(); endwhile; exit; } // Hook the function to the WordPress Ajax action add_action('wp_ajax_more_post_ajax', 'more_post_ajax'); add_action('wp_ajax_nopriv_more_post_ajax', 'more_post_ajax');
登录后复制
jQuery Ajax 脚本
在页脚中,包含以下 jQuery 脚本来处理 Ajax 按钮功能:
<script type="text/javascript"> jQuery(document).ready( function($) { // Ajax post endpoint var ajaxUrl = "<?php echo admin_url('admin-ajax.php')?>"; // Page counter var page = 5; // Posts per page var ppp = 3; // Event handler for the "Load More Posts" button $("[id^=more_posts]").on("click", function() { $("[id^=more_posts]").attr("disabled", true); $.post(ajaxUrl, { action: "more_post_ajax", offset: (page * ppp) + 1, ppp: ppp }) .success(function(posts) { page++; $("#ajax-posts").append(posts); $("[id^=more_posts]").attr("disabled", false); }); }); }); </script>
登录后复制
自定义函数
提供的代码是一个基本示例。您可以对其进行自定义以满足您的特定要求,例如:
- 查询参数:向查询参数添加其他参数以根据特定条件(例如类别、
- 分页: 添加分页链接以在页面之间导航帖子。
- 无限滚动:使用滚动事件在用户向下滚动页面时自动加载更多帖子。
按照以下步骤,您可以使用 Ajax 在 WordPress 中实现功能性“加载更多帖子”按钮,增强访问者浏览大型内容集的用户体验。
以上是如何在 WordPress 中使用 Ajax 实现'加载更多帖子”按钮?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
两个点博物馆:所有展览以及在哪里可以找到它们
3 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
两个点博物馆:所有展览以及在哪里可以找到它们
3 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)