在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中文網其他相關文章!