我正在尝试研究如何创建自己的WooCommerce AJAX分页功能。我发现的所有教程都使用插件,但我不希望使用。我之前已经为另一个网站创建了AJAX分页功能,但是,使用WooCommerce并不那么容易,因为商店页面上的产品信息是自动生成的,就像以前一样,我创建了自己的循环来获取内容,然后将其转换为在JS中使用的JSON对象。
我的问题是,是否可以使用原始产品循环将此功能插入WooCommerce?还是我将不得不创建一个获取产品的新循环,但这是否会导致加载时间出现问题,因为原始的WooCommerce循环仍将运行?
这是我之前在另一个网站上实现AJAX分页的方法的php,我能以某种方式将WooCommerce循环插入此功能吗?
add_action('wp_ajax_nopriv_load_more', 'load_more');
add_action('wp_ajax_load_more', 'load_more');
function load_more(){
$paged = $_POST["page"]+1;
$args = array(
'post_type' => 'customer_testimonial',
'posts_per_page' => 2,
'paged' => $paged,
'orderby' => 'date'
);
$query = new WP_Query( $args );
$no_of_posts = $query->found_posts;
if( $query->have_posts() ):
while( $query->have_posts() ): $query->the_post();
$post_cont[] = array(
"name" => get_field('customer_name'),
"area" => get_field('area'),
"review" => get_field('review')
);
endwhile;
endif;
// echo json_encode($result);
$max_posts[] = array(
"no_of_posts" => $no_of_posts
);
echo json_encode(array( "post_cont" => $post_cont, "max_posts" => $max_posts));
wp_reset_postdata();
die();
}