2015-09-16 66 views
0

我已成功添加一個產品屬性來激活插件。這是腳本。將條款設置爲Woocommerce中的產品屬性

function mycbgenie_add_product_attributes() { 

    global $wpdb; 

    $insert = $wpdb->insert(
    $wpdb->prefix . 'woocommerce_attribute_taxonomies', 
     array(
      'attribute_label' => 'Sold Through', 
      'attribute_name' => 'sold-through', 
      'attribute_type' => 'text', 
      'attribute_orderby' => 'order_by', 
      'attribute_public' => 1 
     ), 
      array('%s', '%s', '%s', '%s', '%d') 
    ); 

    if (is_wp_error($insert)) { 
     throw new WC_API_Exception('woocommerce_api_cannot_create_product_attribute', $insert->get_error_message(), 400); 
    } 

    // Clear transients 
    delete_transient('wc_attribute_taxonomies'); 

} 

我們如何通過腳本添加一些條款這個新添加的屬性到一個特定的帖子?'我的意思是,我們怎麼可以參考下面的代碼此屬性

update_post_meta($post_id, '_product_attributes', $product_attributes); 

回答

-1

您需要先更新條款,然後update_post_meta

//ensure to replace 123 with a valid product id & 'term name' with a valid term 
wp_set_object_terms(123, "term name", "pa_sold-through", true); 

$product_attributes['pa_sold-through'] = array(
     //Make sure the 'name' is same as you have the attribute 
     'name' => htmlspecialchars(stripslashes('Sold Through')), 
     'value' => 'term name', //replace 'term name' with a valid term 
     'position' => 1, 
     'is_visible' => 1, 
     'is_variation' => 1, 
     'is_taxonomy' => 0 
    ); 

//Add as post meta, ensure to replace 123 with a valid product id 
update_post_meta(123, '_product_attributes', $product_attributes); 
+0

我很奇怪,爲什麼這個詞的名字並不在此畫面出現在PA下:賣通 –

+0

我的意思是在這個頁面可溼性粉劑管理員/ edit.php post_type =產品&? page = product_attributes,它不顯示使用上述腳本添加的條款。 –

+0

難道我們需要先使用這個屏幕添加條款'wp-admin/edit.php?post_type = product&page = product_attributes',並在腳本中引用術語名稱嗎? –

相關問題