Par défaut, le tableau des commandes référencées dans le tableau de bord de l'affilié affiche un ensemble fixe de colonnes telles que la date de la commande, le statut et la commission.
Si vous souhaitez afficher des informations supplémentaires, telles qu'un champ personnalisé collecté lors du paiement, vous pouvez le faire à l'aide d'un petit bout de code ajouté à la section functions.php ou un plugin spécifique au site.
Aucun fichier central ne doit être modifié, et la modification survivra aux mises à jour des plugins.
La version 7.8.0+ de Coupon Affiliates est nécessaire.
Comment cela fonctionne-t-il ?
Vous avez besoin de deux petits extraits de code :
- Enregistrez votre colonne - indique au tableau l'intitulé à afficher.
- Fournir la valeur - indique au tableau ce qu'il doit afficher dans cette colonne pour chaque commande.
Voilà, c'est fait. Voici un exemple complet et fonctionnel qui ajoute un “Note à l'attention des clients” colonne affichant la note laissée par un client lors de son passage en caisse :
// 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 );
Afficher un champ de caisse personnalisé à la place
Si vous avez collecté un champ personnalisé lors de la commande et que vous l'avez enregistré en tant que méta de la commande, remplacez le champ $order->get_customer_note() pour $order->get_meta() et transmettez la clé méta de votre champ. Par exemple, si votre champ est enregistré sous le nom de Date de livraison:
// 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 );
Vous ne savez pas quelle est la clé méta de votre champ ? Vous pouvez généralement la trouver en vérifiant les paramètres de votre plugin de paiement, ou en regardant les détails de la commande dans WooCommerce > Commandes en utilisant un plugin comme WP Meta Inspector.
Ajouter plusieurs colonnes à la fois
Vous pouvez enregistrer autant de colonnes que vous le souhaitez dans un seul extrait. Il suffit d'ajouter des lignes supplémentaires à l'étape 1, et de traiter chacune d'entre elles à l'étape 2 :
// Étape 1 - Enregistrer les en-têtes de colonnes multiples
add_filter( 'wcusage_filter_referred_orders_custom_columns', function( $columns ) {
$columns['delivery_date'] = array('label' => 'Delivery Date' ) ;
$columns['purchase_order'] = array('label' => 'Purchase Order #' ) ;
return $columns ;
}, 10, 1 ) ;
// Etape 2 - Afficher la valeur de chaque colonne
add_filter( 'wcusage_filter_referred_orders_custom_column_value', function( $value, $column_key, $order ) {
switch ( $column_key ) {
case 'delivery_date' :
$v = $order->get_meta( '_delivery_date' ) ;
return $v ? esc_html( $v ) : '-' ;
case 'purchase_order' :
$v = $order->get_meta( '_purchase_order_number' ) ;
return $v ? esc_html( $v ) : '-' ;
}
return $value ;
}, 10, 3 ) ;

