Usar gancho tableon_profile_extend para ello.
Para esto en archivo functions.php agregar el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
add_action('tableon_profile_extend', function($profile, $action_name) { if ($action_name === 'tableon_default_tables') { $profile['my_new_column'] = [ 'title' => TABLEON_Vocabulary::get('My new column'), 'order' => FALSE, 'action' => function($post_id) { return 'Hello World!'; } ]; } return $profile; }, 10, 2); |
Con $ post_id puede crear cualquier dato y devolverlo directamente a la celda.
Repasemos más complicado ejemplo demostrado aquí. Preste atención al botón "Pregúnteme", haga clic en él. Como puede ver, este es un formulario de contacto donde el cliente puede escribir un mensaje al administrador del sitio sobre la publicación / producto. Para crearlo:
- crear una nueva página y seleccionar la plantilla como "TABLEON Página en blanco"
- instalar cualquier complemento de formulario de contacto, por ejemplo wpform
- lugar al contenido de la nueva página código abreviado del formulario de contacto, por ejemplowpforms id = "641"]
- agregue el siguiente código al functions.php archivo del tema actual de WordPress:
1234567891011121314151617181920add_action('tableon_profile_extend', function($profile, $action_name) {if ($action_name === 'tableon_default_tables') {$profile['ask_me'] = ['title' => 'Ask Me','order' => FALSE,'action' => function($post_id) {return TABLEON_HELPER::draw_html_item('a', ['href' => 'javascript: new Popup23({iframe:"https://demo.posts-table.com/wpform-contact-ask-me/?post_id=' . $post_id . '", '. 'allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture", '. 'title:"Ask manager about the post-product"});void(0);','class' => 'tableon-btn'], 'Ask Me');}];}return $profile;}, 10, 2);
Presta atención al enlace "https://demo.posts-table.com/wpform-contact-ask-me"y cámbielo por el suyo. - Para completar algunas entradas del formulario de contacto aplique el siguiente código:
12345678910111213141516add_filter('wp_footer', function() {if (is_page(642)) {if (isset($_GET['post_id'])) {$post = TABLEON_Default::get_post(intval($_GET['post_id']));if (is_object($post)) {?><script>document.getElementById('wpforms-641-field_4').value = '<?php echo addslashes($post->post_title) ?>';document.getElementById('wpforms-641-field_2').value = "Hello, give me please more information about the post: <?php echo addslashes($post->post_title) ?>!";</script><?php}}}});
642 - ID de la página donde se colocó el formulario de contacto;
Wpforms-641-field_4 - ID de la entrada