如何知道产品从哪个页面添加到购物车?-WooCommerce

时间:2019-06-20 作者:Nabetse

我想知道,在wc报告页面(或其他地方),产品从哪个页面添加到购物车。

我在一家在线食品市场工作,该市场有一个食谱博客,在每个食谱页面上都有一个部分介绍了食谱上使用的产品。

我们正在开发一个联盟计划,在该计划中,每个配方作者将获得客户从其配方中添加的每种产品的报酬;因此,我们必须了解每个产品添加到购物车的页面。

你知道怎么做吗?我感谢您的帮助,如果必要的话,我会提供进一步的细节。谢谢

2 个回复
SO网友:Milan Hirpara

请尝试以下代码:

在此仅显示页面/帖子URL和页面/帖子ID。您需要存储页面ID/URL,并且可以从数据库中获取。

NOTE : 这是仅在“详细信息”页面中工作的代码。

function custom_to_cart_item( $cart_item_data, $product_id, $variation_id ) {
    $page_url = wp_get_referer();
    $page_id = url_to_postid( $page_url );
}
add_filter( \'woocommerce_add_cart_item_data\', \'custom_to_cart_item\', 10, 3 );

SO网友:Nabetse

我能够完成,下面是我使用的代码:

// To create a new product meta data with the page from which the product is added:

function custom_to_cart_item( $cart_item_data, $product_id, $variation_id ) {
$page_url = wp_get_referer();
$page_id = url_to_postid( $page_url );
$cart_item_data[\'page-of-addition\'] =  $page_id;

return $cart_item_data;}

add_filter( \'woocommerce_add_cart_item_data\', \'custom_to_cart_item\', 10, 3 );
如果要在订单页上显示该值:

function add_addition_page_to_order_items( $item, $cart_item_key, $values, $order ) {
if ( empty( $values[\'page-of-addition\'] ) ) {
    return;
}

$item->add_meta_data( __( \'Page of addition\', \'wpi18n\' ), $values[\'page-of-addition\'] );
}
add_action( \'woocommerce_checkout_create_order_line_item\', \'add_addition_page_to_order_items\', 10, 4 );
非常感谢米兰Hirpara。我还用一些共享的内容补充了代码iconic

相关推荐