WordPress에서 Ajax를 통해 더 많은 게시물 로드
WordPress에서 게시물을 동적으로 로드하기 위해 "더 보기" 버튼을 구현하려면 PHP와 자바스크립트. 특정 접근 방식을 설명했지만 코드의 기능이나 효율성에 영향을 미치는 추가 요소가 있을 수 있습니다. 수정되고 향상된 솔루션은 다음과 같습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!