WOOT - WooCommerce Active Products Tables

Comment ajouter une colonne personnalisée aux tableaux

Utilisez pour cela le hook woot_profile_extend.

Ajoutez pour cela le code suivant dans le fichier functions.php :

add_action('woot_profile_extend', function($profile, $action_name) {

    if ($action_name === 'woot_woocommerce_tables') {
      
        $profile['my_new_column'] = [
            'title' => WOOT_Vocabulary::get('My new column'),
            'order' => FALSE,
            'action' => function($post_id) {
                return 'Hello World!';
            }
        ];
    }

    return $profile;
}, 10, 2);

Grâce à $post_id, vous pouvez générer n'importe quelles données et les renvoyer directement dans la cellule.


Voyons un exemple plus complexe, présenté ici. Regardez le bouton "Poser une question (Ask Me)" et cliquez dessus. Il s'agit d'un formulaire de contact avec lequel le client peut écrire un message au gestionnaire de la boutique au sujet du produit. Pour le créer :

  • créez une nouvelle page et choisissez le modèle "Page vierge WOOT (WOOT Blank Page)"
  • installez un plugin de formulaire de contact, par exemple wpform
  • placez dans le contenu de la nouvelle page le shortcode du formulaire de contact, par exemple [wpforms id="641"]
  • ajoutez le code suivant au fichier functions.php du thème WordPress actif :
    add_action('woot_profile_extend', function($profile, $action_name) {
    
        if ($action_name === 'woot_woocommerce_tables') {
          
            $profile['ask_me'] = [
                'title' => 'Ask Me',
                'order' => FALSE,
                'action' => function($post_id) {
                    return WOOT_HELPER::draw_html_item('a', [
                                'href' => 'javascript: new Popup23({iframe:"https://demo.products-tables.com/wpform-contact-ask-me/?product_id=' . $post_id . '", '
                                . 'allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture", '
                                . 'title:"Ask manager about the product"});void(0);',
                                'class' => 'woot-btn'
                                    ], 'Ask Me');
                }
            ];
        }
    
        return $profile;
    }, 10, 2);
    

    Repérez le lien "https://demo.products-tables.com/wpform-contact-ask-me" et remplacez-le par le vôtre.
  • Pour préremplir certains champs du formulaire de contact, appliquez le code suivant :
    add_filter('wp_footer', function() {
    
        if (is_page(642)) {
            if (isset($_GET['product_id'])) {
                $product = WOOT_WooCommerce::get_product(intval($_GET['product_id']));
                if (is_object($product)) {
                    ?>
                    
                    

    642 - ID de la page où se trouve le formulaire de contact ;
    wpforms-641-field_4 - ID du champ de saisie