メニュー

【WordPress】訪問cookieを設置する方法

最初だけアニメーションを実行するサイトなどで使用するとよい。

WordPressの関数を使って訪問cookieを設置(PHP7.3以降)

まず始めに「get_header」関数からcookieを発行する。サンプルとして、cookieの有効期限は1日に設定。

function hoge_cookie() {
	if(is_front_page()) {
		$day_expires = 1;
		$cookie_opt = array(
			'expires' => date_i18n("U")+intval($day_expires * 60 * 60 * 24),
			'path' => '/',
			'domain' => '',
			'secure' => true,
			'httponly' => true,
			'samesite' => 'Strict'
		);
		setcookie('hello_hoge','true', $cookie_opt);
	}
}

add_action('get_header', 'hoge_cookie');

「body_class」関数を使って、class名からの分岐を追加。

function hoge_body_class( $classes ) {
	if(is_front_page() && !empty($_COOKIE['hello_hoge'])) {
		if($_COOKIE['hello_hoge'] === 'true') {
			$classes[] = 'first-access';
		}
	}
	return $classes;
}

add_filter('body_class', 'hoge_body_class');

PHPバージョンが7.3未満の場合

setcookieには以下のように記述。

setcookie('hello_hoge','true', date_i18n("U")+intval($day_expires * 60 * 60 * 24),'/', '',true,true);