IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Ajouter des données à la ligne d'articles de produit lors de l'aperçu de la commande


Sujet :

WordPress PHP

  1. #1
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut Ajouter des données à la ligne d'articles de produit lors de l'aperçu de la commande
    Salut

    Avec un plugin, sur l'aperçu de la commande (en cliquant sur le petit oeil ^^), je souhaite ajouter "le numéro de ligne" ou "l'article de la commande" pour chacun des produits dans la facture.


    Je modifie cet article parce que j'ai eu une meilleure idée peut-être : ajouter une nouvelle colonne au tableau qui affiche les détails du produit.


    Mon code suivant affiche correctement la nouvelle connexion, la structure HTML du tableau est correcte, cependant, pour chaque ligne de produit, les données des colonnes ne sont pas affichées. (J'ai utilisé du texte aléatoire pour éviter d'éventuels problèmes de récupération de données)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    function custom_wc_order_preview_table_content($item, $args) {
        if ($item->is_type('line_item')) {
            $random_text = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz"), 0, 5);
            if ('new' === $args['column_id']) {
                echo '<td class="wc-order-preview-table__column--new">'; 
                echo $random_text;
                echo '</td>';
            }
        }
    }
    add_action('woocommerce_admin_order_preview_line_item_column', 'custom_wc_order_preview_table_content', 10, 2);
     
     
    function custom_wc_order_preview_table_header($columns) {
        $new_columns = array('new' => __('Nouvelle colonne', 'woocommerce'));
        $columns = array_slice($columns, 0, 1, true) + $new_columns + array_slice($columns, 1, count($columns) - 1, true);
        return $columns;
    }
    add_filter('woocommerce_admin_order_preview_line_item_columns', 'custom_wc_order_preview_table_header');
     
     
    function custom_wc_order_preview_table_css() {
        echo '<style>.wc-order-preview-table__column--new { width: 20%; }</style>';
    }
    add_action('admin_head', 'custom_wc_order_preview_table_css');



    Je ne sais pas si c'est clair mais merci d'avance pour votre aide.

  2. #2
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Merci à ceux qui ont cherché même sans trouvé ou donné de résultat mais j'ai trouvé une solution qui me convient (à voir si elle conviendra à mon chef au retour de ces congés ^^) :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // Add new column
    function filter_woocommerce_admin_order_preview_line_item_columns( $columns, $order ) { 
        // Add a new column
        $new_column['info'] = __( 'n°', 'woocommerce' );
     
     
        // Return new column as first
        return $new_column + $columns;
    }
    add_filter( 'woocommerce_admin_order_preview_line_item_columns', 'filter_woocommerce_admin_order_preview_line_item_columns', 10, 2 );
     
     
    function filter_woocommerce_admin_order_preview_line_item_column_info( $html, $item, $item_id, $order ) {
        // Get line item ID
        $line_item_id = $item_id;
     
     
        // Display line item ID as info
        $html = '#' . $line_item_id;
     
     
        return $html;
     
     
    }
    add_filter( 'woocommerce_admin_order_preview_line_item_column_info', 'filter_woocommerce_admin_order_preview_line_item_column_info', 10, 4 );
     
     
    // CSS style
    function add_order_notes_column_style() {
        $css = '.wc-order-preview .wc-order-preview-table td, .wc-order-preview .wc-order-preview-table th { text-align: left; } .wc-order-preview-table__column--info { padding-right: 0!important; width: 40px; }';
        wp_add_inline_style( 'woocommerce_admin_styles', $css );
    }
    add_action( 'admin_print_styles', 'add_order_notes_column_style' );


    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Composant pour ajouter des éléments en lignes
    Par MiniCesc dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 14/01/2011, 11h26
  2. [PHP 5.3] Ajouter des sauts de ligne dans un fichier XML
    Par geforce dans le forum Langage
    Réponses: 4
    Dernier message: 08/04/2010, 15h32
  3. Ajout des donnés avec un DataAdapter
    Par Marc_27 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/03/2009, 21h57
  4. Ajouter des sauts de lignes à la table des matières
    Par lisa.a dans le forum Mise en forme
    Réponses: 3
    Dernier message: 15/08/2006, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo