2017-02-07 51 views
2

我試圖使用會話將產品'advance-payment' and 'post_title'的自定義屬性傳遞到另一個頁面。 post_title獲得通過,但自定義屬性advance-payment沒有。在simple.php上打印了advance-payment,但不在custom_form.php上打印。使用會話傳遞產品的自定義屬性woocommerce

simple.php

<?php 
session_start(); 
$_SESSION['post_title_form'] = $product->post->post_title; 
$ca_advance_value = $product->get_attribute('advance-payment'); 
$_SESSION['post_advance_form']=$ca_advance_value; 
//attribute is echoed here 
echo "Test " . $ca_advance_value; 

custom_form.php

<?php 
session_start(); 
/* Template Name: CustomFormPage */ 
//is displayed 
echo "TEST 1: " .$_SESSION['post_title_form']; 
//not displayed 
echo "TEST 2: ".$_SESSION['post_advance_form']; 

回答

0

您可以添加自定義詳細下面鉤來吸引商務會議:

add_filter('woocommerce_add_cart_item_data', 'add_cart_item_custom_data_vase', 10, 2); 
    function add_cart_item_custom_data_vase($cart_item_meta, $product_id) { 
     global $woocommerce;    
     $cart_item_meta['post_title'] = 'post title'; 
     $cart_item_meta['post_advance_form'] = 'Advance Payment'; 
     return $cart_item_meta; 
    } 

通過下面的代碼,你可以得到從您的custom_form.php購物車會話購物車項目:

global $woocommerce; 
    $items = $woocommerce->cart->get_cart(); 
    foreach($items as $item => $values) {   
     $post_title = $values['post_title']; 
     $post_advance_form = $values['post_advance_form']; 
    } 
+0

我有一個自定義按鈕旁邊添加到購物車按鈕上simple.php採取另一種形式。我不需要購物車中的數據。我需要從simple.php的自定義屬性,然後將其傳遞到custom_form.php –

+0

您可以使用ajax或js函數傳遞變量到該文件。但我認爲這是很好的傳遞數據與購物車會話,所以你可以在任何地方使用它使用的默認商業功能。 –

相關問題