Por defecto, la tabla de Pedidos Referidos en el panel de afiliados muestra un conjunto fijo de columnas como fecha de pedido, estado y comisión.
Si desea mostrar información adicional, como un campo personalizado recopilado durante el proceso de pago, puede hacerlo con un pequeño fragmento de código añadido al tema funciones.php o un plugin específico del sitio.
No es necesario editar ningún archivo del núcleo y el cambio sobrevivirá a las actualizaciones de los plugins.
Se requiere la versión 7.8.0+ de Coupon Affiliates.
Cómo funciona
Necesitas dos pequeños fragmentos de código:
- Registre su columna - indica a la tabla el encabezamiento que debe mostrar.
- Aportar valor - indica a la tabla lo que debe mostrar en esa columna para cada pedido.
Ya está. Aquí está un ejemplo de trabajo completo que añade un “Nota del cliente” columna que muestra la nota que un cliente dejó al pasar por caja:
// Step 1 - Register the column heading
add_filter( 'wcusage_filter_referred_orders_custom_columns', function( $columns ) {
$columns['customer_note'] = array(
'label' => 'Customer Note',
);
return $columns;
}, 10, 1 );
// Step 2 - Display the value for each order row
add_filter( 'wcusage_filter_referred_orders_custom_column_value', function( $value, $column_key, $order ) {
if ( 'customer_note' !== $column_key ) {
return $value;
}
$note = $order->get_customer_note();
return '' !== $note ? esc_html( $note ) : '—';
}, 10, 3 );
Mostrar un campo de pago personalizado en su lugar
Si ha recopilado un campo personalizado durante el proceso de pago y lo ha guardado como meta del pedido, cambie a $order->get_customer_note() para $order->get_meta() e introduzca la metatecla de su campo. Por ejemplo, si su campo se guarda como fecha_entrega:
// Step 1 - Register the column heading
add_filter( 'wcusage_filter_referred_orders_custom_columns', function( $columns ) {
$columns['delivery_date'] = array(
'label' => 'Delivery Date',
);
return $columns;
}, 10, 1 );
// Step 2 - Display the value for each order row
add_filter( 'wcusage_filter_referred_orders_custom_column_value', function( $value, $column_key, $order ) {
if ( 'delivery_date' !== $column_key ) {
return $value;
}
$date = $order->get_meta( '_delivery_date' );
return '' !== $date ? esc_html( $date ) : '—';
}, 10, 3 );
¿No está seguro de cuál es la meta clave de su campo? Por lo general, puede encontrarla comprobando la configuración de su plugin de pago o consultando los detalles del pedido en WooCommerce > Pedidos utilizando un plugin como WP Meta Inspector.
Añadir varias columnas a la vez
Puede registrar tantas columnas como desee en un único fragmento. Solo tiene que añadir líneas adicionales al paso 1 y gestionar cada una de ellas en el paso 2:
// Paso 1 - Registrar múltiples encabezados de columna
add_filter( 'wcusage_filter_referred_orders_custom_columns', function( $columns ) {
$columns['fecha_entrega'] = array( 'label' => 'Fecha_entrega' );
$columns['purchase_order'] = array( 'label' => 'Pedido #' );
return $columns;
}, 10, 1 );
// Paso 2 - Mostrar el valor de cada columna
add_filter( 'wcusage_filter_referred_orders_custom_column_value', function( $value, $column_key, $order ) {
switch ( $column_key ) {
case 'fecha_entrega':
$v = $order->get_meta( '_fecha_entrega' );
return $v ? esc_html( $v ) : '-';
case 'pedido_compra':
$v = $order->get_meta( '_purchase_order_number' );
return $v ? esc_html( $v ) : '-';
}
return $value;
}, 10, 3 );

