你有没有人知道如何通过ajax显示Woocommerce最近的产品(使用一些回调或类似的东西)?现在我有这个短代码:
[recent_products per_page="12" columns="3"]
我想创建一个按钮,允许我在同一页面上显示下12个产品。
答案 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
});
?>