Mostrar botão de Whatsapp 24 horas no meu site (Prestashop)

  • Autor Autor Baldomero Gar
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
B

Baldomero Gar

Gamma
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Buenas tardes. ¿Alguien sabe qué cambios tendría que hacer en este código para que el botón Whatsapp se mostrase durante las 24 horas y no de 7 de la mañana a 15 horas como ocurre ahora? Mi web es www.gamalux.es (Prestashop) GRACIAS

{
let $ = jQuery;
console.log("whatsapp 2.7");
let abierto;
function compruebaHorario(){
var fecha = new Date();
var diaSemana = fecha.getDay();
var hora = fecha.getHours();
console.log("dia semana: " + diaSemana);
if(diaSemana < 6){
if( hora > 7 && hora < 22){
abierto = 1;
}
}
}
compruebaHorario();
if(abierto){
$( "body" ).append( "<div class='whatsapp sticky' data-phone='34644953031' data-action='contact' data-text=''></div>" );
$(".whatsapp").click(function(e){
var action = e.target.dataset["action"];
if (action == "share"){
var text = e.target.dataset["text"];
var url = window.location.href; //sharing_url;
var message = encodeURIComponent(text) + "-" + encodeURIComponent(url);
if($(window).width()>768){
var whatsapp_url = "https://web.whatsapp.com/send?text=" + message;
}else{
var whatsapp_url = "https://api.whatsapp.com/send?text=" + message;
}
}
if (action == "contact"){
var phone = e.target.dataset["phone"];
if($(window).width()>768){
var whatsapp_url = "https://web.whatsapp.com/send?phone=" + phone;
}else{
var whatsapp_url = "https://api.whatsapp.com/send?phone=" + phone;
}
}
//window.location.href = whatsapp_url;
window.open(whatsapp_url, '_blank');
});
}
}
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
reemplaza
JavaScript:
if( hora > 7 && hora < 22){
abierto = 1;
}
por
JavaScript:
abierto=1;
 
Yo lo dejaría así, más limpio, lo demás sobra completamente si quieres que el botón se muestre siempre:

JavaScript:
{
    let $ = jQuery;

    $("body").append("<div class='whatsapp sticky' data-phone='34644953031' data-action='contact' data-text=''></div>");
    
    $(".whatsapp").click(function (e) {
        var action = e.target.dataset["action"];

        if (action == "share") {
            var text = e.target.dataset["text"];
            var url = window.location.href; //sharing_url;
            var message = encodeURIComponent(text) + "-" + encodeURIComponent(url);

            if ($(window).width() > 768) {
                var whatsapp_url = "https://web.whatsapp.com/send?text=" + message;
            } else {
                var whatsapp_url = "https://api.whatsapp.com/send?text=" + message;
            }
        }

        if (action == "contact") {
            var phone = e.target.dataset["phone"];

            if ($(window).width() > 768) {
                var whatsapp_url = "https://web.whatsapp.com/send?phone=" + phone;
            } else {
                var whatsapp_url = "https://api.whatsapp.com/send?phone=" + phone;
            }
        }

        window.open(whatsapp_url, '_blank');
    });
}
 
Yo lo dejaría así, más limpio, lo demás sobra completamente si quieres que el botón se muestre siempre:

JavaScript:
{
    let $ = jQuery;

    $("body").append("<div class='whatsapp sticky' data-phone='34644953031' data-action='contact' data-text=''></div>");
   
    $(".whatsapp").click(function (e) {
        var action = e.target.dataset["action"];

        if (action == "share") {
            var text = e.target.dataset["text"];
            var url = window.location.href; //sharing_url;
            var message = encodeURIComponent(text) + "-" + encodeURIComponent(url);

            if ($(window).width() > 768) {
                var whatsapp_url = "https://web.whatsapp.com/send?text=" + message;
            } else {
                var whatsapp_url = "https://api.whatsapp.com/send?text=" + message;
            }
        }

        if (action == "contact") {
            var phone = e.target.dataset["phone"];

            if ($(window).width() > 768) {
                var whatsapp_url = "https://web.whatsapp.com/send?phone=" + phone;
            } else {
                var whatsapp_url = "https://api.whatsapp.com/send?phone=" + phone;
            }
        }

        window.open(whatsapp_url, '_blank');
    });
}
GRACIAS, crack!
 
Buenas! Lo siento pero el botón no ha aparecido durante el fin de semana, ni tampoco fuera del horario de 7 a 15

¿Se os ocurre algo? ¿Es posible que esté tirando de algún modo del horario de Google My Bussines?????

Gracias por adelantado!
 
¡Ya funciona! Mil gracias a todos
 
Hola te recomiendo nuestro widget para prestashop. Es bastante completo y ofrece muchas opciones extra sobre todo para recuperar carritos de la compra con WhatsApp.
 
mejor sin jquery
JavaScript:
const whinfo = {
    phone: "34644953031",
    action: "contact",
    text: ""
};
const whatsappBtn = () => {
    const button = document.createElement("div");
    button.className = "whatsapp sticky";
    for (let key in whinfo) {
        button.setAttribute("data-" + key, whinfo[key]);
    }
    const clickHandler = e => {
        const currentURL = window.location.href,
            end = (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) ? "api" : "web",
            action = whinfo.action == "share" ? "text" : "phone",
            message = action == "text" ? encodeURIComponent(`${whinfo.text}-${currentURL}`) : whinfo.phone;
        window.open(`https://${end}.whatsapp.com/send?${action}=${message}`, '_blank');
    }
    button.addEventListener("click", clickHandler, false);
    document.body.appendChild(button);
}
document.addEventListener("DOMContentLoaded", whatsappBtn);
 
Última edição:
Voltar
Topo