Maison > développement back-end > tutoriel php > Comment puis-je ajouter des colonnes personnalisées à ma liste de commandes d'administrateur WooCommerce ?

Comment puis-je ajouter des colonnes personnalisées à ma liste de commandes d'administrateur WooCommerce ?

Susan Sarandon
Libérer: 2024-11-21 01:59:13
original
783 Les gens l'ont consulté

How Can I Add Custom Columns to My WooCommerce Admin Order List?

Ajouter des colonnes personnalisées à la liste des commandes d'administration de WooCommerce

Dans WooCommerce, vous pouvez personnaliser la page de liste des commandes d'administration pour inclure des colonnes supplémentaires qui affichent des informations pertinentes. informations sur vos commandes.

Ajout de colonnes à la commande Liste

Pour ajouter des colonnes personnalisées à la liste de commandes dans WooCommerce, vous devrez modifier le fichier modèle :

/wp-content/plugins/woocommerce/includes/admin/views/html-order-list.php
Copier après la connexion

Dans la fonction manage_shop_order_posts_custom_column, vous pouvez définir le contenu de vos colonnes personnalisées en fonction du paramètre $column. Par exemple, pour ajouter une colonne affichant le poids de la commande, vous pouvez utiliser le code suivant :

case 'weight':
    $order = wc_get_order($post_id);
    $weight = $order->get_weight();
    echo $weight . ' kg';
    break;
Copier après la connexion

Ajout de colonnes à un emplacement spécifique

Vous pouvez spécifier la position de vos colonnes personnalisées en modifiant le filtre manage_edit-shop_order_columns. Ce filtre vous permet de réorganiser les colonnes existantes et d'insérer vos colonnes personnalisées dans un emplacement spécifique.

Par exemple, pour insérer une colonne personnalisée nommée "Ma colonne" avant la colonne "Actions", vous utiliserez ce qui suit code :

add_filter('manage_edit-shop_order_columns', 'reorder_admin_order_columns');

function reorder_admin_order_columns($columns) {
    $reordered_columns = array();

    foreach ($columns as $key => $column) {
        $reordered_columns[$key] = $column;
        if ($key == 'order_status') {
            $reordered_columns['my-column'] = 'My Column';
        }
    }

    return $reordered_columns;
}
Copier après la connexion

Stockage de commandes haute performance (HPOS)

À partir de WooCommerce 8.2, Le stockage des commandes haute performance (HPOS) est activé par défaut pour les nouvelles installations. Cela nécessite une approche légèrement différente pour l'ajout de colonnes personnalisées :

add_filter('manage_woocommerce_page_wc-orders_columns', 'reorder_admin_order_hpos_columns');

function reorder_admin_order_hpos_columns($columns) {
    $reordered_columns = array();

    foreach ($columns as $key => $column) {
        $reordered_columns[$key] = $column;
        if ($key == 'order_status') {
            $reordered_columns['my-column'] = 'My Column';
        }
    }

    return $reordered_columns;
}

add_action('manage_woocommerce_page_wc-orders_custom_column', 'display_admin_order_hpos_column_content', 10, 2);

function display_admin_order_hpos_column_content($column, $order) {
    switch ($column) {
        case 'my-column':
            // Get custom order metadata
            $value = $order->get_meta('_the_meta_key');
            if (!empty($value)) {
                echo $value;
            } else {
                echo '<small>(<em>no value</em>)</small>';
            }
            break;
    }
}
Copier après la connexion

Ces modifications de code vous permettent d'ajouter des colonnes personnalisées à la page de liste des commandes d'administration, vous offrant ainsi des informations supplémentaires et une flexibilité dans la gestion de vos commandes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal