WOOT - WooCommerce Active Products Tables

Cómo añadir una columna personalizada a las tablas

Para ello use el hook woot_profile_extend.

Añada el siguiente código en el archivo 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);

Con $post_id puede generar cualquier dato y devolverlo directamente a la celda.


Veamos un ejemplo más complejo, mostrado aquí. Fíjese en el botón "Ask Me" y haga clic en él. Como puede ver, es un formulario de contacto donde el cliente puede escribir un mensaje al gestor de la tienda sobre el producto. Para crearlo:

  • cree una página nueva y seleccione la plantilla "WOOT Blank Page"
  • instale cualquier plugin de formularios de contacto, por ejemplo wpform
  • coloque en el contenido de la página nueva el shortcode del formulario de contacto, por ejemplo [wpforms id="641"]
  • añada el siguiente código al archivo functions.php del tema actual de WordPress:
    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);
    

    Fíjese en el enlace "https://demo.products-tables.com/wpform-contact-ask-me" y cámbielo por el suyo.
  • Para rellenar algunos campos del formulario de contacto, aplique el siguiente código:
    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 página donde está el formulario de contacto;
    wpforms-641-field_4 - ID del campo de entrada