Criar um shortcode no WordPress que gera um link do WhatsApp

Ivon Filho

Ivon Filho

Procurando desenvolvedor freelancer para seu projeto?

Para criar um shortcode no WordPress que gera um link do WhatsApp baseado em texto e número fornecidos, você pode adicionar o seguinte código ao functions.php do seu tema ou a um plugin específico. Este código define um shortcode que você pode usar em suas postagens e páginas para gerar um link do WhatsApp:

function whatsapp_shortcode($atts) {
    // Define os atributos e seus padrões
    $atts = shortcode_atts(array(
        'texto' => 'Olá!',
        'numero' => '',
    ), $atts, 'whatsapp');

    // Codifica o texto para a URL
    $texto_url = urlencode($atts['texto']);

    // Monta a URL do WhatsApp
    $whatsapp_url = 'https://api.whatsapp.com/send?phone=' . $atts['numero'] . '&text=' . $texto_url;

    // Retorna o link formatado
    return '<a href="' . esc_url($whatsapp_url) . '" target="_blank">Enviar mensagem via WhatsApp</a>';
}

add_shortcode('whatsapp_text', 'whatsapp_shortcode');

Use o shortcode em suas postagens ou páginas da seguinte maneira:

[whatsapp_text texto="" numero=""]

Se você deseja usar o shortcode apenas para gerar a URL do WhatsApp (sem a tag < a >), você pode modificar a função para retornar apenas a URL:

function whatsapp_shortcode($atts) {
    // Define os atributos e seus padrões
    $atts = shortcode_atts(array(
        'texto' => 'Olá!',
        'numero' => '',
    ), $atts, 'whatsapp');

    // Codifica o texto para a URL
    $texto_url = urlencode($atts['texto']);

    // Monta a URL do WhatsApp
    $whatsapp_url = 'https://api.whatsapp.com/send?phone=' . $atts['numero'] . '&text=' . $texto_url;

    // Retorna apenas a URL
    return esc_url($whatsapp_url);
}

add_shortcode('whatsapp_TXT', 'whatsapp_shortcode');

Para criar uma função shortcode que gera um link do WhatsApp usando o título do post e a URL do post como parte da mensagem, você pode usar o seguinte código. Esta função shortcode buscará o título e a URL do post atual automaticamente e os incluirá na mensagem do WhatsApp:

function whatsapp_wp_shortcode($atts) {
    global $post;

    // Verifica se está dentro de um loop de post e obtém o título e a URL do post
    $post_title = isset($post) ? get_the_title($post->ID) : '';
    $post_url = isset($post) ? get_permalink($post->ID) : '';

    // Monta a mensagem padrão
    $mensagem = "Olá, estava pesquisando por '{$post_title}', na URL {$post_url}";

    // Define os atributos e seus padrões
    $atts = shortcode_atts(array(
        'numero' => '',
    ), $atts, 'whatsapp_wp');

    // Codifica a mensagem para a URL
    $mensagem_url = urlencode($mensagem);

    // Monta a URL do WhatsApp
    $whatsapp_url = 'https://api.whatsapp.com/send?phone=' . $atts['numero'] . '&text=' . $mensagem_url;

    // Retorna apenas a URL
    return esc_url($whatsapp_url);
}

add_shortcode('whatsapp_wp', 'whatsapp_wp_shortcode');

Como usar o shortcode nesse caso:

whatsapp_wp numero=""
Rolar para cima