Mostrar meta del producto en la tabla de artículos del pedido en Detalles del pedido

2 minutos de lectura

Mostrar meta del producto en la tabla de articulos del
mo saeedi

Necesito agregar una columna personalizada para los artículos de pedido y mostrar meta del producto específico en esta columna. Me refiero a algo como la imagen a continuación, ¡no puedo encontrar ninguna acción de woocommerce para agregar esta columna!
ingrese la descripción de la imagen aquí

Puedes usar el siguiente código:

// Add custom column headers here
add_action('woocommerce_admin_order_item_headers', 'my_woocommerce_admin_order_item_headers');
function my_woocommerce_admin_order_item_headers() {
    // set the column name
    $column_name="Test Column";

    // display the column name
    echo '<th>' . $column_name . '</th>';
}

// Add custom column values here
add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {
    // get the post meta value from the associated product
    $value = get_post_meta($_product->post->ID, '_custom_field_name', 1);

    // display the value
    echo '<td>' . $value . '</td>';
}

Lo comenté, por lo que debería ser lo suficientemente claro, pero en pocas palabras, este código agrega una columna personalizada, llamada “Columna de prueba”, y esta columna extrae el valor del campo personalizado del producto, llamado “_custom_field_name”.

  • Gracias, Gracias, Gracias…, me salvaste muchas veces! gracias de nuevo

    – Mo Saeedi

    3 de septiembre de 2014 a las 14:21

  • El único problema con este código es que extrae el valor meta actual del producto… en lugar del valor meta que se capturó (potencialmente) durante el pago.

    – Garconís

    5 de enero de 2017 a las 15:08

  • @Marin Atanasov si necesito editar el valor meta personalizado de la línea de pedido, ¿cómo puedo hacerlo?

    – Rezoán

    10 de octubre de 2020 a las 4:57

  • ¿Hay alguna manera de eliminar también las columnas predeterminadas de woocommerce, Costo, cantidad, total, impuestos?

    – Tassos Voulgaris

    14 de julio de 2021 a las 8:39

Desde WooCommerce 3.0, no puede llamar directamente a product_id. Necesitas reemplazar esto:

$product_id = $_product->get_id();
$value = get_post_meta($product_id, '_custom_field_name', 1);

Esto hará el truco y eliminará todos los errores y avisos.

¿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