WordPress Woocommerce Recently Viewed Products 查看最近浏览过的产品

add_shortcode( ‘recently_viewed_products’, ‘bbloomer_recently_viewed_shortcode’ );

function bbloomer_recently_viewed_shortcode() {

$viewed_products = ! empty( $_COOKIE[‘woocommerce_recently_viewed’] ) ? (array) explode( ‘|’, wp_unslash( $_COOKIE[‘woocommerce_recently_viewed’] ) ) : array();

$viewed_products = array_reverse( array_filter( array_map( ‘absint’, $viewed_products ) ) );

$viewed_products = array_slice($viewed_products, 0, 4);

if ( empty( $viewed_products ) ) return;

$title = ‘<h3>Recently Viewed Products</h3>’;

$product_ids = implode( “,”, $viewed_products );

return $title . do_shortcode(“

“);

}

function custom_track_product_view() {

if ( ! is_singular( ‘product’ ) ) {

return;

}

global $post;

if ( empty( $_COOKIE[‘woocommerce_recently_viewed’] ) )

$viewed_products = array();

else

$viewed_products = (array) explode( ‘|’, $_COOKIE[‘woocommerce_recently_viewed’] );

if ( ! in_array( $post->ID, $viewed_products ) ) {

$viewed_products[] = $post->ID;

}

if ( sizeof( $viewed_products ) > 15 ) {

array_shift( $viewed_products );

}

// Store for session only

wc_setcookie( ‘woocommerce_recently_viewed’, implode( ‘|’, $viewed_products ) );

}

add_action( ‘template_redirect’, ‘custom_track_product_view’, 20 );

之后使用[recently_viewed_products]调用

其中 $viewed_products = array_slice($viewed_products, 0, 4);为显示4条产品。

以上代码也可解决WordPress自带的 Woocommerce Recently Viewed Products 显示空白无法显示产品的问题。

最后,还是建议使用专业插件来实现更多Recently Viewed Products的自定义功能。比如显示的顺序、显示的类别、显示所有浏览的产品记录、设置滑块效果等。插件可联系技术客服免费获取(仅针对建站客户)

分享到:

Facebook
Twitter
Pinterest
LinkedIn

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

邮件订阅

想自动获取最新发布的内容吗?

填写您的邮件后,发布最新资讯后将自动推送给您 

相关阅读