Внешнее всплывающее окно по щелчку открывается только один раз за сеанс - PullRequest
0 голосов
/ 02 января 2019

Мне удалось продублировать функциональное всплывающее окно (кодирование для меня ад).Проблема в том, что каждый раз, когда вы нажимаете на страницу.Что раздражает.Есть ли возможность для меня как для новичка, чтобы я мог открыть окно только один раз для сайта?Это для WordPress страницы.Код я вставил в тело.Хорошо, спасибо. Вот код, который я написал

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

Я пробую этот код, он открывается один раз за сеанс, но его браузер блокируется.Это не против, это не функция onclick.

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

И мой опыт программирования равен нулю.У меня проблема с совмещением кода и работой с файлами cookie.Я потерян.

Ответы [ 3 ]

0 голосов
/ 02 января 2019

Вы можете сделать с частичным javascript, частичным php,

1) Cookie на основе Php - проверка сеанса

2) Javascript: Cookie - проверка сеанса на основе LocalStorage

0 голосов
/ 04 января 2019

Готово, я сделал всплывающее окно с классом css с z-индексом и вставил прозрачное изображение как внешнюю ссылку с _blank и onclick в body.Может быть, непрофессионально, но функционально

0 голосов
/ 02 января 2019

да, вы можете сделать это, используя куки.

php имеет функции для работы с куки, в основном setcookie () и компаньонами

**/ 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 );
    }

сейчас, изКонечно, это самые основные общие примеры, но вы можете использовать его с любым набором условий (например, @Bibberty комментарий / вопрос), например, по сеансу, по пользователю, по дню, по странице и т. д.все, что вы хотите.

Sidenote - wp имеет специальные функции для использования куки, в основном для управления аутентификацией и сеансом (что wp не делает по умолчанию).см. wp_set_auth_cookie () , чтобы узнать больше

sidenote 2 Кроме того, что касается вашего кода ... внедрение php в JS (или наоборот) - плохая практика,wp на самом деле имеет очень классную и элегантную функцию для работы с этим , и если вы действительно хотите изучать php / wp - вам лучше начать использовать его сейчас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...