2013-11-22 81 views
0

我已經設置了一個產品值的數組。我需要設置每個陣列關鍵數據屬性和值的數據屬性值WordPress的使用數組鍵和值來設置數據屬性

<li data-name="product1" data-price="49.99" data-rating="4.5"></li>

所以在WordPress的我有這個過濾鉤子

function product_data_sorting($product_attrs, $product, $terms) { 
    global $post; 

    // Product Attributes 
    $product_attrs['name'] = $post->post_name; 
    $product_attrs['price']  = $product->price; 
    $product_attrs['rating'] = $product->get_average_rating(); 
    $product_attrs['newness'] = $post->post_modified; 

    // Product Categories 
    foreach ($terms as $term) { 
     $categories[] = $term->slug; 
    } 
    $product_attrs['categories'] = $categories; 


    foreach ($product_attrs as $attribute) { 
     if (is_array($attribute)) { 
      //This is a category 
     } 
     else { 
      $results[] = 'data-' . $key . '="' . '$attribute' . '"'; 
     } 
    } 
    return $results 
} 
add_filter('add_sorting', 'product_data_sorting', 10, 3); 

我讓所有的正確的數據推入到我需要的$ product_attrs數組中,但不知道如何使用數組鍵和值,以便在$ results數組中它將被格式化如下:

$results = (data-name="product1", data-price="49.99", data-rating="4.5");

希望這是某種意義上

感謝

回答

0

您需要內foreachkey=>value對。

$ignored = array ('newness'); // array to maintain what attributes you want to ignore 

    foreach ($product_attrs as $key => $attribute) { 
      if (is_array($attribute)) { 
       //This is a category 
      } 
      else { 
       if(!inarray($key, $ignored) 
        $results[] = 'data-' . $key . '="' . $attribute . '"'; 
      } 
    } 

還要注意的是$屬性不是單引號enlcosed你在問題中都有。單引號內的變量無法解析