Premesse e domande esistenziali
Ti è mai capitato di voler sapere a colpo d’occhio quale metodo di pagamento è stato utilizzato per pagare un determinato ordine? Ecco come fare per aggiungere questa utilissima informazione in una colonna dedicata, nella pagina Ordini di WooCommerce!
Senza perdere altro tempo, cominciamo:
Obbiettivo e Preview
Ecco come comparirà il risultato finale (ovviamente per motivi di privacy sono stati eliminati i dati ordine da questa schermata):
Dove mettere il codice
Si potrebbe realizzare un plugin, ci stavo anche pensando, ma per poche righe di codice forse non ha molto senso. L’ideale quindi è inserire il codice necessario nel proprio tema child.
Se NON sei esperto: apri il file functions.php del tuo tema child e incolla lì dentro il codice sottostante.
Se invece sei esperto: inseriscilo in un altro file php separato che poi andrai a richiamare secondo le tue logiche di sviluppo preferite.
// Aggiungi una nuova colonna per il metodo di pagamento
add_filter('manage_woocommerce_page_wc-orders_columns', 'hw_add_payment_method_column', 20);
function hw_add_payment_method_column($columns) {
$new_columns = array();
// Aggiungi la nuova colonna dopo la colonna dello stato dell'ordine
foreach ($columns as $key => $column) {
$new_columns[$key] = $column;
if ($key == 'order_status') {
$new_columns['payment_method'] = __('Metodo di Pagamento', 'woocommerce');
}
}
return $new_columns;
}
// Popola la colonna con i dati del metodo di pagamento
add_action('manage_woocommerce_page_wc-orders_custom_column', 'hw_display_payment_method_column', 10, 2);
function hw_display_payment_method_column($column, $order) {
if ('payment_method' === $column) {
if ($order) {
echo esc_html($order->get_payment_method_title());
}
}
}
Conclusioni
Spero che questo trick vi sia utile, come sempre non mi capacito di come WordPress e WooCommerce ancora non abbiano implementato nativamente la possibilità di aggiungere colonne custom sulla base dei metadati disponibili per uno specifico contenuto, ma tant’è. C’è ancora tanta strada da fare per arrivare ad ottenere piattaforme perfettamente plasmabili senza uso di codice e/o AI.
Ad majora!