在 WordPress 中通过 Ajax 加载更多帖子
在 WordPress 中实现“加载更多”按钮来动态加载帖子需要 PHP 和JavaScript。虽然您已经概述了特定方法,但可能还有其他因素会影响代码的功能或效率。这是修订和增强的解决方案:
HTML 标记:
<div>
函数 PHP 文件:
function more_post_ajax() { $offset = $_POST["offset"]; $ppp = $_POST["ppp"]; header("Content-Type: text/html"); $args = [ 'suppress_filters' => true, 'post_type' => 'post', 'posts_per_page' => $ppp, 'cat' => 1, 'offset' => $offset, ]; $loop = new WP_Query($args); while ($loop->have_posts()) { $loop->the_post(); the_content(); } exit; } add_action('wp_ajax_nopriv_more_post_ajax', 'more_post_ajax'); add_action('wp_ajax_more_post_ajax', 'more_post_ajax'); wp_localize_script( 'twentyfifteen-script', 'ajax_posts', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'noposts' => __('No older posts found', 'twentyfifteen'), ) );
jQuery功能:
var ppp = 3; // Posts per page var page = 5; // Current page number, starting from 1 $('#more_posts').click(function() { $('#more_posts').attr('disabled', true); var offset = (page * ppp) + 1; $.post( ajax_posts.ajaxurl, { action: 'more_post_ajax', offset: offset, ppp: ppp, } ).success(function(posts) { page++; $('#ajax-posts').append(posts); $('#more_posts').attr('disabled', false); }); });
其他注意事项:
以上是如何在 WordPress 中实现 Ajax 支持的'加载更多”帖子?的详细内容。更多信息请关注PHP中文网其他相关文章!