2015-02-10 74 views
0

我有一個woocommerce的post meta,用於捕獲在使用PHP顯示簡碼時使用的ID。WordPress/WlooCommerce變量沒有通過內部函數/鉤子傳遞

正如你可以在這裏看到

// Add Preview Button To Product Pages 
add_action('woocommerce_simple_add_to_cart', 'add_preview_button_to_mag_issues'); 
function add_preview_button_to_mag_issues() { 
    if (has_term('Magazine Issues', 'product_cat')){ 
     $fb_prev_issue_sc_var = get_post_meta ($post->ID, 'fb_prev_issue_shortcode', true); // Store Shortcode To Display Preview Flipbook 
     //echo do_shortcode('[real3dflipbook id="2"]'); 
     echo do_shortcode('[real3dflipbook id="' . $fb_prev_issue_sc_var . '"]'); // Print Shortcode To Display Preview Flipbook 
     echo '<a class="real3dflipbook-lightbox button alt">Preview Issue</a>'; // Print Button To Open Lightbox 
    } 
} 

變量$ fb_prev_issue_sc_var不是出於某種原因獲得的內容。我已經在我的代碼中使用了與之前填充變量相同的精確方法,並且它工作正常,並且它用於顯示相同的簡碼......但它不在「鉤子」或函數中。

這裏是我現在的儲蓄變量

// Preview Issue Shortcode ID 
$woocommerce_fb_prev_issue_shortcode = $_POST['fb_prev_issue_shortcode']; 
if(!empty($woocommerce_fb_prev_issue_shortcode)) 
update_post_meta($post_id, 'fb_prev_issue_shortcode', esc_attr($woocommerce_fb_prev_issue_shortcode)); 

廣東話圖這一個...

提前感謝!

編輯 注意兩者的幾行代碼都包含在子主題functions.php文件

+1

嘗試在add_preview_button_to_mag_issues()中設置$ post global。因爲你正試圖讀取$ post的ID,這可能是未定義的那一點。 – Burimi 2015-02-10 03:43:16

+0

@Burimi ahhhhhh這是我正在尋找的無辜!如果你想發佈一個答案,說我會選擇你作爲最好的答案感謝芽! – kevingilbert100 2015-02-10 04:39:02

+0

剛剛發佈了答案,因爲它可能對其他用戶也有幫助。 – Burimi 2015-02-10 15:44:04

回答

0

你必須把這些變量$post全球性的,因爲你試圖讀取屬性未定義對象的ID內。

啓用WordPress調試將有助於在這種情況下。