2017-12-26 8 views
0

I 코드 : 그것은 작동WordPress의 플러그인 setcookie()의 올바른 방법은 무엇입니까? 이 같은

public function register() { 
    add_action('init', array($this, 'cookie_init')); 
} 
private function cookie_init() { 
    if (!isset($_COOKIE['test_key'])) { 
     setcookie('test_key', 'test_value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN); 
    } 
} 

. 그러나 다른 곳에서 값을 업데이트하고 싶습니다. setcookie가 ofcourse로 호출 될 때 오류가 발생합니다 (일부 헤더는 이미 전송되었습니다). 또 다른 질문은 필요할 때 새로운 쿠키 k-v를 추가하는 방법입니다 (초기화 지점이 아님).

고마워요!

답변

0

코드를 더 복잡하게 만들 수 있습니다. 당신은 다음과 같은 기능을 만들 수 있습니다

function setMyCookie($key, $value) { 
    if (!isset($_COOKIE[$key])) { 
     setcookie($key, $value, time() + 3600, COOKIEPATH, COOKIE_DOMAIN); 
    } 
} 

이 기능은 워드 프레스 클래스 엔진에있을 필요가 없습니다.

다른 방법으로 정적 멤버로 함수를 만들 수 있으므로 어디에서나 호출 할 수 있습니다.

추 신 : 저는 Wordpress 전문가는 아니지만 실제로는 Wordpress 문제가 아닌 PHP 개발 스타일 문제입니다.

+0

나는 Wordpress 문제도 아니고 PHP 개발 스타일 문제도 아니라고 생각합니다. 위의 코드는 예제 일뿐입니다. Wp에는 개발자가 커스터마이징 쿠키를 관리하기 위해 따라야 만하는 고유 한 스타일이 있지만 나는 가지고 있지 않습니다. 감사. – itevery

관련 문제