2014-09-26 4 views
1

WordPress의 웹 사이트에 대한 연령 확인 상자를 설정하려고합니다. jQuery 쿠키를 사용하여 단추를 클릭 할 때 쿠키를 설정합니다. jQuery가 클릭되면 상자가 숨겨지고 쿠키가 이미 설정된 경우 후속 페이지에 연령 확인 상자가 표시되지 않아야합니다. 나는이 사이트를 문제없이 작동하는 다른 사이트에서 테스트했지만 현재 사이트에서는 관리자로 로그인했을 때만 작동합니다. 일반 사용자는 파이어 폭스에서 쿠키가 설정되었음을 확인했지만 모든 페이지의 상자를 볼 수 있습니다. 어떤 아이디어? 나는 페이지의 쿠키를 확인하고 방법은 다음과쿠키가 WordPress에서 설정되었을 때 적절한 출력을 반환하지 않습니다.

은 다음과 같습니다 질문에 여기

<?php if(!isset($_COOKIE['consenting_age'])) { ?> 

    <div>Age Verification Box Here</div> 

<?php } ?> 

사이트에 대한 링크입니다 http://cutlersartisan.wpengine.com/distilery/

+0

는 흠 ... 코드가 나에게 좋아 보이는 도메인을 떠나 나는 쿠키가 설정되어있는 것을 볼 수 있습니다. 독특한. 코드가 실행중인 버전에서 실행되고 있지 않은 것일 수 있습니다. – Luke

+0

그게 기분이 좋아집니다. 음, 일종의! 그것은 주제에서 상충되는 것이어야합니다. –

답변

2

문제가 wpengine 참조 구현 한 캐싱 관련이있다 Cookies and PHP Sessions 아닌 문제가 PHP 코드에없는 사이트에서 찾고 있지만

다음 당신은 쿠키 값을 설정하는 경우

,
$j.cookie('consenting_age', 'yes', { expires: 30, path: '/', domain: '.cutlersartisan.wpengine.com' }); 

귀하의 도메인 이름에는. 전면

에서

$j.cookie('consenting_age', 'yes', { expires: 30, path: '/', domain: 'cutlersartisan.wpengine.com' }); 

을 시도하거나 완전히

$j.cookie('consenting_age', 'yes', { expires: 30, path: '/'}); 
+0

도메인없이 시작했지만 도메인을 마지막 스티치 작업으로 추가하려고했습니다. 방금 다시 효과를 제거했습니다. 그것은 관리자와 사용자 모두를 대상으로 테스트 한 다른 사이트에서 작동하지만 현재 사이트는 관리자 만 사용할 수 있습니다. 다른 아이디어? –

+1

http://wpengine.com/support/cookies-and-php-sessions/ wpengine이 쿠키를 손상시킬 수있는 캐싱을 사용하는 것 같습니다. – Martin

+0

와우는 완벽하게 이해합니다. 그러면 관리자가 캐싱 기능을 해제했기 때문에 관리자 용으로 작동하는 이유를 알 수 있습니다. 테스트 한 다른 사이트는 WPEngine에서 실행되지 않았습니다. 나는 표를 열고 그들과 함께 그것을 확인할 것입니다. 그게 속임수면 알려주지. –

관련 문제