woocommerce:通过Ajax展示最新产品

时间:2015-07-16 17:13:54

标签: wordpress woocommerce

你有没有人知道如何通过ajax显示Woocommerce最近的产品(使用一些回调或类似的东西)?现在我有这个短代码:

[recent_products per_page="12" columns="3"]

我想创建一个按钮,允许我在同一页面上显示下12个产品。

1 个答案:

答案 0 :(得分:4)

一个简单的例子,它是基本的wordpress ajax调用,它返回recent_products短代码的输出。在页面的某个位置放置#wc_recent_products id的链接,ajax响应将替换div#main$( '#main' ).html( response );的内容,如果要将内容放在其他位置,请更改该行。

<?php

add_action( 'wp_ajax_wc_recent_products', function() 
{
    if ( isset( $_POST['nonce'] ) && wp_verify_nonce( $_POST['nonce'], 'wc_recent_products' ) ) 
    {
        echo do_shortcode( '[recent_products per_page="12" columns="3"]' );
    }
    exit();
});


add_action( 'wp_head', function() {

?>
    <script type="text/javascript" >
    jQuery(function ($) {
        $( '#wc_recent_products' ).on( 'click', function() {
            $.post( 
                '<?php echo admin_url( 'admin-ajax.php' ); ?>', 
                { action: 'wc_recent_products', nonce: '<?php echo wp_create_nonce( 'wc_recent_products' ); ?>' }, 
                function( response ) {              
                    $( '#main' ).html( response );          
                }
            );
            return false;
        });
    });
    </script>
<?php
});
?>