prefix . 'pesquisa_satisfacao';
$charset_collate = $wpdb->get_charset_collate();$sql = "CREATE TABLE $tabela (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
recomendacao TINYINT NOT NULL,
atendimento TINYINT NOT NULL,
comentario TEXT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";require_once ABSPATH . 'wp-admin/includes/upgrade.php';
dbDelta($sql);
}
add_action('init', 'ps_criar_tabela_pesquisa');/* Processa o envio do formulário */
function ps_processar_formulario() {
if (!isset($_POST['ps_nonce']) || !wp_verify_nonce($_POST['ps_nonce'], 'ps_enviar_formulario')) {
wp_die('Falha de segurança.');
}$recomendacao = isset($_POST['recomendacao']) ? intval($_POST['recomendacao']) : 0;
$atendimento = isset($_POST['atendimento']) ? intval($_POST['atendimento']) : 0;
$comentario = isset($_POST['comentario']) ? sanitize_textarea_field($_POST['comentario']) : '';if ($recomendacao < 1 || $recomendacao > 5 || $atendimento < 1 || $atendimento > 5) {
wp_die('Os valores informados são inválidos.');
}global $wpdb;
$tabela = $wpdb->prefix . 'pesquisa_satisfacao';$wpdb->insert(
$tabela,
array(
'recomendacao' => $recomendacao,
'atendimento' => $atendimento,
'comentario' => $comentario,
),
array('%d', '%d', '%s')
);$redirect = wp_get_referer();
if (!$redirect) {
$redirect = home_url('/');
}$redirect = add_query_arg('pesquisa', 'sucesso', $redirect);
wp_safe_redirect($redirect);
exit;
}
add_action('admin_post_ps_enviar_formulario', 'ps_processar_formulario');
add_action('admin_post_nopriv_ps_enviar_formulario', 'ps_processar_formulario');/* Shortcode do formulário */
function ps_shortcode_pesquisa_satisfacao() {
ob_start();if (isset($_GET['pesquisa']) && $_GET['pesquisa'] === 'sucesso') {
echo '
Obrigado! Sua resposta foi enviada com sucesso.
';
}
?>