2017-08-14 18 views
0

pa_ の商品を0120.の間で比較するために、商品の属性データに犬を入れようとしています。ただし、データにアクセスできません。 (評価:Woocomerceの '属性'データを返すことができません

C:\ WAMP \ WWW \ wizstaginglocal \ WP-コンテンツ\プラグイン\コードスニペット\ PHPの\スニペット-ops.php(426)次のコードは、のvar_dumpコマンドで次のように返し)「Dコード:17:つまりブール偽

コード:$のためのvar_dumpで

add_action('woocommerce_before_cart', 'wiz_scale_woocommerce_before_cart'); 

function wiz_scale_woocommerce_before_cart() { 
    foreach(WC() -> cart -> get_cart() as $cart_item_key => $cart_item) { 
     // HERE the WC_Product object 
     $product = $cart_item['data']; 
     echo "My Product ID is {$cart_item['product_id']} \n"; 

     $attributes = $product -> get_attributes(); 
     foreach($attributes as $taxonomy => $value) { 
      // The WP_Term object 
      $term_obj = get_term_by('pa_1_scale', $value, $taxonomy); 
      $term_name = $term_obj -> name; 

     } 
     echo '<pre>'; 
     var_dump($term_obj); 
     echo '</pre>'; 
    } 
} 

は、関連するスラグのために、番組属性

アレイ(サイズ= 3).... 'pa_1_scale' => オブジェクト(WC_Product_Attribute)[1383] 保護 'データ' => アレイ(サイズ= 6) 'ID' => INT 1 '名称' =>文字列 'pa_1_scale'(長さ= 10) 'オプション' => アレイ(サイズ= 1) ... '位置' => INT 2 '可視' =>ブールtrue 'variation' => boolean false

私もawarになりましたthis postのe:これが理由ですか?

答えて

0

属性データがシリアル化されているため、抽出する方法が見つかりません。成功した作業は、WPデータベースにSQLクエリを書き込むことでした。

function mycustomfunc_retrieve_attribute_for product() { 
foreach(WC() -> cart -> get_cart() as $cart_item_key => $cart_item) { 
    $product = $cart_item['product_id']; 
// perform wpdb search 
global $wpdb; 
$myatt = $wpdb->get_var(
    $wpdb->prepare(
    "SELECT DISTINCT 
    t.name AS 'Term Name' 
    FROM 
    wiz_posts AS p 
    INNER JOIN 
    wiz_term_relationships AS tr ON p.id = tr.object_id 
    INNER JOIN 
    wiz_term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id 
    INNER JOIN 
    wiz_terms AS t ON t.term_id = tt.term_id 
    WHERE 
    p.post_type = 'product' 
    AND 
    p.ID = %d 
    AND 
    tt.taxonomy = 'mySlugName' 
    ", 
    $product 
    ) 
    ); 

echo "My Product ID is {$product} and the attribute is {$myatt} \n"; 
} 
関連する問題