Use gancho tableon_profile_extend para isso.
Para isso em arquivo functions.php adicione o próximo 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); |
Usando $ post_id você pode criar quaisquer dados e retorná-los diretamente para a célula.
Vamos revisar mais complicado exemplo demonstrado aqui. Preste atenção no botão "Me pergunte", clique nele. Como você pode ver, este é o formulário de contato onde o cliente pode escrever uma mensagem para o administrador do site sobre a postagem / produto. Para criá-lo:
- crie uma nova página e selecione o modelo como "TABLEON Página em Branco"
- instale qualquer plugin de formulário de contato, por exemplo wpform
- lugar para o novo código do formulário de contato do conteúdo da página, por exemplo [wpforms id = "641"]
- adicione o próximo código ao functions.php arquivo do tema WordPress atual:
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);
Preste atenção no link "https://demo.posts-table.com/wpform-contact-ask-me"e altere-o para o seu próprio. - Para preencher algumas entradas do formulário de contato aplique o próximo 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 da página onde o formulário de contato foi colocado;
wpforms-641-field_4 - ID da entrada