1

誰かが初めて Wordpress サイトにアクセスしたときにのみスプラッシュ スクリーンが表示されるようにしようとしています。私は PHP についてあまり知りませんが、Cookie の設定と読み取りはこれを行う簡単な方法のように思えたので、これをheader.phpに追加しました。

<?php if ( !isset($_COOKIE['accessed']) ) { 
    setcookie('accessed', 'yes', time() + (86400 * 30)); // 30 days
?>
    <script>
        // Some code
    </script>
<?php 
    } 
?>

スクリプトは実行されますが、Cookie は設定されないため、すべての訪問で実行されます...

PHPで同じページにCookieを設定して読み取ることができないことをどこかで読みましたが、それが本当なら、これをどのように実装すればよいか本当にわかりません。

どんなヒントでも大歓迎です!

4

2 に答える 2

1

ヘッダーが送信される前に、Cookie を送信する必要があります。

Wordpress では、そのコードをテーマの html に入れるだけでは機能しません。

functions.php ファイルでこのようなことをする必要があります

function checkAccessed(){
        if ( !isset($_COOKIE['accessed']) ) { 
            setcookie('accessed', 'yes', time() + 3600*24*30); 
            define("ACCESSED", false);
        }else{
            define("ACCESSED", true);
        }
}
add_action("init", "checkAccessed");

そして、あなたのテーマhtmlで..

<?php if(!ACCESSED){ ?>
  <script></script>
<?php } ?>
于 2013-09-11T22:21:33.827 に答える