WooCommerce AJAX分页没有插件

时间:2018-08-14 09:39:41

标签: php ajax wordpress woocommerce

我正在尝试研究如何创建自己的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();
}

0 个答案:

没有答案