Criar um shortcode no WordPress que gera um link do WhatsApp

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=""