2013-06-11 6 views
0

안녕하세요, 나는이 모든 편집 작업에 매우 익숙합니다. 나는 "xxx"라는 이름과 "(currentusername)"이라는 이름으로 인증 할 때 wordpress에 새로운 쿠키를 추가하고 싶다. 이미 http://wptheming.com/2011/04/set-a-cookie-in-wordpress/을 읽었습니다. 그러나 필자는 내 코드의 functions.php에 필요한 코드를 추가합니다. 그러나 currentusername logginned가 쿠키에 추가되는 것과 같이 호출하는 방법을 모르겠습니다. 여기 Wordpress에 사용자 정의 쿠키 추가

사전

에서 덕분에 내 functions.php에서 ('set_newuser_cookie'를 '초기화하기')

function set_newuser_cookie() { 
if (!isset($_COOKIE['sitename_newvisitor'])) { 
    setcookie('sitename_newvisitor', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false); 
} 

} ADD_ACTION를 삽입 된 다른 웹 사이트의 코드;

답변

0

이 하나에 부딪 혔습니다. 새로운 쿠키를 추가하지 말고 대신 현재 쿠키를 가로 채고 (WP를 사용하고) WP가 귀하를 대신하여 관리하도록 권장합니다. 또한 WP에서 사용할 수있는 후크 WP 기능을 사용하여 매우 깨끗하고 꽉 코드를 허용 - 나는 의견에 넣고 자세한려고 노력 - 아래의 조각을 시도 :

function custom_set_newuser_cookie() { 
    // re: http://codex.wordpress.org/Function_Reference/get_currentuserinfo 
    if(!isset($_COOKIE)){ // cookie should be set, make sure 
     return false; 
    } 
    global $current_user; // gain scope 
    get_currentuserinfo(); // get info on the user 
    if (!$current_user->user_login){ // validate 
     return false; 
    } 
    setcookie('sitename_newvisitor', $current_user->user_login, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false); // change as needed 
} 
// http://codex.wordpress.org/Plugin_API/Action_Reference/wp_login 
add_action('wp_login', 'custom_set_newuser_cookie'); // will trigger on login w/creation of auth cookie 
/** 
To print this out 
if (isset($_COOKIE['sitename_newvisitor'])) echo 'Hello '.$_COOKIE['sitename_newvisitor'].', how are you?'; 
*/ 

을 그리고이 코드에 대한 예를 사용 functions.php. 행운을 빕니다.

관련 문제