woocommerce:通过 Ajax 显示最新产品

Pav*_*mec 0 wordpress woocommerce

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

[recent_products per_page="12" columns="3"]
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*jel 5

一个简单的例子,它是返回短代码输出的基本 wordpress ajax 调用recent_products。将带有 id 的链接放在#wc_recent_products页面上的某个位置,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
});
?>
Run Code Online (Sandbox Code Playgroud)