2015-05-04 3 views
3

Я использую некоторые пользовательские элементы Meta для продуктов, продаваемых в моем магазине WooCommerce. Я ищу способ скрытия метаданных элемента, отображаемого на странице «Порядок администратора», в разделе «Элементы заказа».Скрыть метаданные из элементов заказа на странице заказа администратора (WooCommerce)

Я использую символы подчеркивания для мета-имени, однако мета все еще отображается.

Вы можете увидеть в прилагаемом изображении, что я имею в виду ...

Мысли?

enter image description here

+0

Надеюсь, что вы можете предоставить более подробную информацию, такую ​​как текущий WordPress и woocomerce версии. –

+0

Спасибо, Christian, я использую WordPress 4.2.1 и WooCommerce 2.3.8. –

ответ

4

Вы можете попробовать это:

function custom_woocommerce_hidden_order_itemmeta($arr) { 
    $arr[] = '_xchange_code'; 
    return $arr; 
} 

add_filter('woocommerce_hidden_order_itemmeta', 'custom_woocommerce_hidden_order_itemmeta', 10, 1); 
+0

Спасибо, Кристиан, Это сработало. Но из любопытства - не мета-имена, начиная с подчеркивания, которые должны быть скрыты, по умолчанию? –

+0

Да, я вижу, что woocomerce не поддерживает эту функцию. –

+0

Мета-ключи, которые начинаются с символа подчеркивания, по умолчанию скрыты из метаданных настраиваемых полей, что не то же самое, что и у WooCommerce. – helgatheviking

0
//remove order item meta key 
add_filter('woocommerce_order_item_get_formatted_meta_data', 'mobilefolk_order_item_get_formatted_meta_data', 10, 1); 

function mobilefolk_order_item_get_formatted_meta_data($formatted_meta){ 
    $temp_metas = []; 
    foreach($formatted_meta as $key => $meta) { 
     if (isset($meta->key) && ! in_array($meta->key, [ 
       'lyric_id', 
       'lyric_song_title', 
       'lyric_artist_name' 
      ])) { 
      $temp_metas[ $key ] = $meta; 
     } 
    } 
    return $temp_metas; 
} 
Смежные вопросы