TransWikia.com

Redireccionar tras 5 segundos del click en wordpress

Stack Overflow en español Asked by Pauet on November 17, 2021

Bajo CMS WordPress lo que busco es que tras 5 segundos de haber hecho click en un boton concreto la página se redireccione a otra url obtenida por una variable php.

    <script type="text/javascript">
function sample() {
   setTimeout(function() {
       window.open('<?php echo esc_attr(wpcoupon_coupon()->get_go_out_url()); ?>', '_self');
   }, 5000); 
}
</script>  

Y en el boton:

<button class="ui right labeled icon button btn btn_secondary" onClick="sample();">
<i class="copy icon"></i>
<span><?php esc_html_e('Copy', 'wp-coupon'); ?></span>

El asunto es que en un archivo php fuera de wordpress y variando del script <?php echo esc_attr(wpcoupon_coupon()->get_go_out_url()); ?> por http://www.google.com funciona correctamente, pero al integrar los códigos en single.php la url a la que redirecciona es example.com/nombre-de-la-entrada/url
, añadiendo ese ultimo url al ejecutarse la redirección.
He probado a mostrar mediante php <?php echo esc_attr(wpcoupon_coupon()->get_go_out_url()); ?> y la url que nuestra es correcta.

Muchas Gracias de antemano

2 Answers

php cuenta con una funcion llamada sleep esta disponible desde la version 4

un ejemplo de como usarlo

<?php

// current time
echo date('h:i:s') . "n";

// sleep for 10 seconds
sleep(10);

// wake up !
echo date('h:i:s') . "n";

?>

aqui te dejo el link de la documentacion

Answered by Marcogomesr on November 17, 2021

Hola esto lo puedes hacer de la siguiente manera:

<?php
header('Location: http://www.example.com/');
?>

otra manera es coloca una etiqueta meta en en la pagina php destino

//redirecciona en 10 segundos
<meta http-equiv=""refresh content="10,url=http://example.com"/>

otra manera es que uses javascripts, pero si usan un bloqueador de script te lo anulara

    //primero el php
    <?php
    header ("refresh:10; url=https://example.com/index.php");
    ?>

        //Ahora agregas el javascript
        <script>
        (function() {
        var timeleft = 10,
        cinterval;

        var timeDec = function (){
        timeLeft--;
        document.getElementById('countdown').innerHTML = timeleft;
        if(timeleft === 0){
        clearInterval(cinterval);
           }
        };
        cinterval = setInterval(timeDec, 1000);
        })();

        </script>

// te agregare el enlace porque algunas veces me preguntan 
//el procedimiento, creas el estilo del boton con CSS

<?php 
echo "<a href="ir.php" class="boton">Boton</a>";
//ir.php tiene toda la funcion de temporizacion
?>

Me avisas como te funciono

Answered by Alimentador web on November 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP