1
votes

Popup externe sur clic pour ouvrir une seule fois par session

J'ai pu dupliquer le popup fonctionnel (le codage est un enfer pour moi). Le problème est que chaque fois que vous cliquez sur la page. Ce qui est ennuyeux. Y a-t-il une possibilité pour moi en tant que débutant, de sorte que je ne puisse ouvrir la fenêtre qu'une seule fois pour le site? C'est pour une page wordpress. Le code que j'ai inséré dans le corps. Bien merci Voici le code que j'ai écrit

<script type="text/javascript">
onClick=window.open('<?php echo "https://prehrajto.cz/hledej/".get_the_title()."?cc=uga3bwln" ?>','prehrajto','resizable=yes,scrollbars=yes,');
</script>

J'essaye ce code, il est ouvert une fois par session, mais son navigateur est bloqué. Cela ne me dérangerait pas, ce n'est pas la fonction onclick.

<javascript:void(0);" onClick="window.open('<?php echo "https://prehrajto.cz/hledej/" .  $post->post_title ."?cc=uga3bwln" ?>','prehrajto','resizable=yes,scrollbars=yes,');">    

Et mon expérience de programmation est nulle. J'ai un problème pour combiner du code et pour travailler avec des cookies. Je suis perdu.


5 commentaires

Avez-vous essayé de vérifier la date, puis d'utiliser une instruction if pour voir si la date est quelque chose et de définir une variable sur true ou 1? Si la page se charge à nouveau, elle verra que la variable est 1 ou vraie et elle ne se rechargera pas avant le jour suivant. Pas à proximité d'un ordinateur, donc je ne peux rien faire de plus.


Une seule fois par session? Ou une seule fois pour un utilisateur?


@Bibberty - bonne question. cette question seule devrait indiquer la solution. - BISCUITS


Un seul par session.


J'ai un problème avec la conjonction avec le code actuel avec le cookie. J'essaye ceci, mais je ne travaille pas 'code' $ inactive) {// réinitialise le minuteur (* non testé) $ _SESSION ["timeout"] = time () -3600; // Ajout du code contextuel prehrajto.cz/hledej ". $ post-> post_title."? cc = uga3bwln "?> ',' prehrajto ',' resizable = yes, scrollbars = yes, ');">}}?>


3 Réponses :


2
votes

oui, vous pouvez le faire en utilisant des cookies.

php a des fonctions pour gérer les cookies, principalement setcookie () et compagnons

**/ Set a Cookie /* 

    add_action( 'init', 'set_mycookie' );
    function set_mycookie() {
    setcookie( 'cookiename', 'cookievalue', time() + 3600, COOKIEPATH, COOKIE_DOMAIN   );
    }

**/ Get a Cookie /*

    add_action( 'wp_head', 'get_mycookie' );
    function get_mycookie() {
    $myvar= isset( $_COOKIE['cookiename'] ) ? $_COOKIE['cookiename'] : 'cookie not set';

    }

**/ Delete or Unset /* 

    add_action( 'init', 'unset_mycookie' );
    function unset_mycookie() {
    setcookie( 'cookiename', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
    }

maintenant, bien sûr, ce sont les exemples généraux les plus basiques, mais vous pouvez l'utiliser avec tout ensemble de conditions, (comme @Bibberty commentaire / question) par exemple par session, par utilisateur, par jour, par page, etc. tout ce que vous voulez.

Sidenote - wp a des fonctions dédiées pour l'utilisation des cookies, principalement pour la gestion d'authentification et de session (ce que wp ne fait pas par défaut). voir wp_set_auth_cookie () pour en savoir plus

note 2 Aussi, concernant votre code ... embarquer php dans JS (ou vice versa ...) est une mauvaise pratique. wp a en fait une fonction très cool et élégante pour gérer cela , et si vous voulez vraiment apprenez php / wp - vous feriez mieux de commencer à l'utiliser maintenant


1 commentaires

Je sais ce que vous avez écrit, mais je ne sais pas comment faire. Je suis dans la phase où je suis heureux de modifier du code et cela fonctionne. : /



-3
votes

vous pouvez le faire avec du php partiel javascript partiel,

1) Cookie basé sur Php - Vérification de session de session

2) Javascript: Cookie - Vérification de session basée sur LocalStorage


1 commentaires

Il serait bon d'expliquer cela plus en détail - pourriez-vous fournir un code pour l'un de ces cas?



0
votes

C'est fait, J'ai fait un popup avec une classe css avec un z-index, et j'ai inséré une image transparente comme lien externe avec _blank et onclick dans le corps. Peut-être pas professionnel mais fonctionnel


0 commentaires