programing

웹사이트에서 워드프레스 쿠키를 읽는 방법은?

oldcodes 2023. 10. 31. 22:41
반응형

웹사이트에서 워드프레스 쿠키를 읽는 방법은?

저는 제 웹사이트를 워드프레스와 통합하고 싶습니다.웹사이트에서 사용자를 다시 인증할 필요가 없도록 워드프레스 쿠키를 읽는 방법을 알고 싶습니다.웹사이트에 워드프레스의 헤더파일을 넣으려고 했지만 웹사이트의 데이터베이스에 접속할 수 없었습니다.둘 다 다릅니다.사용자 레벨 등 쿠키의 추가 파라미터를 설정할 수 있습니까?제 웹사이트는 php로 되어있습니다.

웹 사이트에서 각 파일의 맨 위에 해당 코드를 포함합니다.

<?php 
define('WP_USE_THEMES', false);
require('./blog/wp-blog-header.php');
?>

...블로그를 assuming합니다../blog/.

여기에는 전체 워드프레스 스택이 포함됩니다.코드에 있는 모든 워드 프레스 기능에 액세스할 수 있습니다.이를 통해 사용자 로그인 여부, 역할 및 기능을 쉽게 확인할 수 있을 뿐만 아니라 게시물 등을 검색할 수 있습니다.

그런 다음 코드에서 사용자를 확인합니다.

if (is_user_logged_in()) { ... } 

코덱스 : is_user_logged_in()

로그아웃 링크를 포함할 수도 있습니다.

<a href="<?php bloginfo("url"); ?>/wp-login.php?action=logout/">Logout</a>

블로그와 사이트가 같은 도메인 또는 하위 도메인에 있지 않은 경우, 쿠키 도메인을 사용자 정의해야 합니다.wp-config.php

define('COOKIE_DOMAIN', '.domain.com'); // Share cookie on all subdomains

편집

꼭 쿠키라는 단어만 읽고 싶다면 (성능에 좋은 선택) : 쿠키 이름은 일정한 AUTH_COOKIE에 저장됩니다.

AUTH_COOKIE 정의:/wp-includes/default-constants.php -> line 171~하듯이

"wordpress_" + md5( get_site_option(siteurl) )

AUTH_COOKIE를 검색하거나 다시 계산한 다음 $_COOK을 읽어야 합니다.IE[AUTH_COOKIE].

파싱을 하려면,wp_parse_auth_cookie()인에wp-includes/pluggable.php @line 585(indeed 형식은 간단합니다.user|expiration|hmac쇠사슬을 쪼개어요|첫번째 요소를 가져옵니다.)

워드프레스에서 쿠키를 작동시키려면 기능에서 쿠키를 특수한 방식으로 설정해야 합니다.php

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

그래서 중요한 점은.setcookie('sitename_newvisitor', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);

그것을 얻기위해

if (isset($_COOKIE['sitename_newvisitor'])) {
     echo 'Welcome back!';
}
else {
     echo 'Hello new visitor!';
}

참고: 쿠키명 'sitname_newvisitor', 값, 타임아웃, COOKIETPATH, COOKIET_DOMAIN을 필요에 맞게 변경할 수 있습니다.

언급URL : https://stackoverflow.com/questions/9350265/how-to-read-wordpress-cookies-in-my-website

반응형