Ocultar metadatos de los artículos de pedido en la página de pedidos de administración (WooCommerce)

2 minutos de lectura

Estoy usando algunos Item Meta personalizados para productos vendidos en mi tienda WooCommerce. Estoy buscando una manera de ocultar el meta del artículo para que no aparezca en la página de pedido de administración, en la sección de artículos de pedido.

Estoy usando guiones bajos para el meta nombre, sin embargo, el meta sigue apareciendo.

Puedes ver en la imagen adjunta a lo que me refiero…

¿Pensamientos?

ingrese la descripción de la imagen aquí

  • Espero que pueda proporcionar más información, como su versión actual de wordpress y woocomerce.

    – Christian Nguyen

    4 mayo 2015 a las 23:10

  • Gracias Christian, estoy usando WordPress 4.2.1 y WooCommerce 2.3.8.

    –Chris Hawkins

    4 mayo 2015 a las 23:13

Puedes probar esto:

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);

  • Gracias Christian, eso funcionó. Pero por curiosidad, ¿no se supone que los nombres meta que comienzan con guiones bajos están ocultos por defecto?

    –Chris Hawkins

    4 mayo 2015 a las 23:45


  • Sí, veo que woocomerce no es compatible con esta función.

    – Christian Nguyen

    5 de mayo de 2015 a las 2:39

  • Las teclas meta que comienzan con un guión bajo están ocultas del cuadro meta de campos personalizados de forma predeterminada, que no es lo mismo que WooCommerce tiene aquí.

    – helgathevikingo

    5 mayo 2015 a las 23:53

  • No entiendo. Agregué una meta_key que comienza con y un guión bajo, y aún se muestra en el Administrador… ¿me estoy perdiendo algo?

    – dcolumbus

    16/03/2016 a las 22:50

avatar de usuario
Hà Bầu

//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;
}

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad