WordPress에서 AJAX "추가 게시물 로드" 기능을 구현하는 방법
이 문서에서는 AJAX "추가 게시물 로드" 구현 문제를 다룹니다. " 기능을 사용하면 사용자가 전체 게시물을 다시 로드하지 않고도 웹페이지에 추가 게시물을 동적으로 로드할 수 있습니다. page.
문제 설명
사용자가 "Custom WP_Query Ajax의 페이지 매김"에서 언급한 방법을 포함하여 다양한 방법을 사용하여 이 기능을 구현하려고 시도하는 동안 어려움을 겪었습니다. post.
솔루션
제공되는 솔루션은 올바른 기능을 보장하기 위해 코드를 개선하는 데 중점을 둡니다. 주요 측면은 다음과 같습니다.
1. 서버측 코드
2. 클라이언트 측 코드(jQuery)
3. 추가 고려 사항
코드 구현
제공된 코드 스니펫에 따라 솔루션:
functions.php:
/** * Handle AJAX "Load More" request */ function load_more_posts() { $offset = $_POST['offset']; $ppp = $_POST['ppp']; $args = [ 'post_type' => 'post', 'posts_per_page' => $ppp, 'offset' => $offset, // Other query parameters... ]; $query = new WP_Query($args); $html = ''; if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); $html .= '<div>' . get_the_content() . '</div>'; } wp_reset_postdata(); } else { $html = 'No more posts to load'; } echo $html; exit(); } add_action('wp_ajax_load_more_posts', 'load_more_posts'); add_action('wp_ajax_nopriv_load_more_posts', 'load_more_posts');
script.js:
$(function() { var offset = 0; var ppp = 3; $('#load-more').on('click', function() { $.ajax({ type: 'POST', url: 'path/to/wp-admin/admin-ajax.php', data: { action: 'load_more_posts', offset: offset, ppp: ppp }, success: function(response) { $('#posts').append(response); offset += ppp; } }); // Prevent the button from triggering multiple AJAX requests $('#load-more').attr('disabled', true); }); });
참고 : 'path/to/wp-admin/admin-ajax.php'를 실제 경로로 교체하세요. WordPress admin-ajax.php 파일의 URL.
결론
이 단계를 따르면 WordPress에 AJAX "더 많은 게시물 로드" 기능을 효과적으로 구현할 수 있습니다. 사이트를 통해 사용자는 전체 페이지를 새로 고치지 않고도 많은 양의 콘텐츠를 원활하게 탐색할 수 있습니다.
위 내용은 WordPress에서 AJAX \'더 많은 게시물 로드\' 기능을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!