Hướng dẫn get, set và xóa cookie WordPress

Bạn có muốn tìm hiểu cách sử dụng cookie trên trang WordPress của mình không? Cookies là một công cụ hữu ích để lưu trữ thông tin tạm thời trong trình duyệt của người dùng và sau đó sử dụng thông tin này để nâng cao trải nghiệm người dùng thông qua việc cá nhân hóa và target khách hàng theo hành vi. Trong bài hướng dẫn này, chúng tôi sẽ chỉ cho bạn chi tiết cách get, set và xóa cookie WordPress.

Lưu ý: Đây là một hướng dẫn nâng cao. Nó đòi hỏi bạn phải có kiến ​​thức thành thạo về HTML, CSS, WordPress và PHP.

Cookies là gì?

Cookies là các file văn bản đơn giản được tạo và lưu trữ trong trình duyệt của người dùng khi họ truy cập trang web. Cookies được sử dụng để cung cấp một số tính năng trên nền web.

Sau đây là một số ứng dụng phổ biến của cookie:

Như bạn có thể thấy, cookie là công cụ rất hữu ích cho chủ sở hữu trang web, nhưng việc sử dụng chúng cũng có thể gây ra cảm giác không thoải mái cho người dùng. Xu hướng gần đây trong tiếp thị email, growth hacking và online marketing cho phép các trang web sử dụng cookies như một tín hiệu để chia sẻ hành vi người dùng từ website này qua website khác.

Đây là lý do tại sao Liên minh châu Âu ban hành Luật Cookie EU (EU Cookie Law) , yêu cầu chủ sở hữu trang web phải tuyên bố với người dùng rằng website của họ sử dụng cookie để lưu trữ thông tin.

Cookies thường được sử dụng trong WordPress như thế nào?

Theo mặc định, WordPress sử dụng cookie để quản lý các phiên làm việc và xác thực người dùng đã đăng nhập. Nó cũng sử dụng cookie để ghi nhớ tên và địa chỉ email của người dùng nếu họ điền vào form bình luận.

Tuy nhiên, nhiều plugin WordPress trên website của bạn cũng có khả năng sử dụng cookie của riêng chúng. Ví dụ: OptinMonster cho phép bạn hiển thị các form email optin khác nhau cho khách truy cập mới và khách đã từng truy cập, và nó thực hiện điều đó bằng cách sử dụng cookie.

Nếu bạn đang sử dụng dịch vụ của bên thứ ba trên trang web của mình như Google Analytics hoặc Google AdSense , thì họ cũng có thể đặt cookie trên website của bạn.

Bạn có thể xem tất cả các cookie trong phần cài đặt của trình duyệt của bạn. Ví dụ: trong Google Chrome, bạn cần truy cập cài đặt và tìm kiếm Content Settings.

Trong phần cài đặt nội dung, bạn cần nhấp vào Cookies để mở trang cài đặt cookie.

Tiếp theo, bạn cần nhấp vào tùy chọn All cookies and site data.

Trên trang tiếp theo, bạn sẽ thấy một danh sách tất cả các cookie và dữ liệu của tất cả các trang web bạn đã truy cập được lưu trữ trên trình duyệt.

Bạn có thể nhập địa chỉ trang web vào hộp tìm kiếm và nó sẽ hiển thị cho bạn dữ liệu được lưu trữ bởi trang web đó.

Nhấp vào một mục nào đó sẽ hiển thị cho bạn thêm chi tiết về các cookie riêng lẻ và nội dung của chúng.

Cách set cookie trong WordPress

Để thực hiện theo hướng dẫn này, bạn sẽ cần phải chèn thêm một đoạn mã vào file functions.php của theme bạn đang dùng hoặc một site-specific plugin. Nếu bạn chưa từng làm điều này trước đây, thì hãy xem hướng dẫn của chúng tôi về cách sao chép và dán các đoạn mã trong WordPress .

Đầu tiên chúng ta sẽ sử dụng hàm setcookie() trong PHP . Hàm này chấp nhận các tham số sau.

Bây giờ, hãy thêm một đoạn mã vào trang WordPress của bạn. đoạn mã này lưu trữ mốc thời gian chính xác khi người dùng truy cập trang web của bạn trong cookie.

function wpb_cookies_tutorial1() { 
 
$visit_time = date('F j, Y  g:i a');
 
if(!isset($_COOKIE[$wpb_visit_time])) {
 
// set a cookie for 1 year
setcookie('wpb_visit_time', $current_time, time()+31556926);
 
}
 
}

Bây giờ bạn có thể truy cập trang web của mình và sau đó kiểm tra cookie trình duyệt. Bạn sẽ tìm thấy một cookie với tên là wpb_visit_time.

Cách get Cookie và sử dụng nó trong WordPress

Bây giờ chúng tôi đã tạo cookie và cookie này sẽ được lưu trữ trong trình duyệt của người dùng trong 1 năm, hãy xem cách chúng tôi sử dụng thông tin này sau đây.

Nếu bạn biết tên của một cookie, thì bạn có thể dễ dàng gọi nó ở bất cứ đâu trong PHP bằng cách sử dụng biến $_COOKIE[]. Hãy thử nghiệm với một vài dòng mã không chỉ get cookie mà còn sử dụng nó để làm một điều gì khác có ích hơn nào.

function wpb_cookies_tutorial2() { 
// Time of user's visit
$visit_time = date('F j, Y g:i a');
 
// Check if cookie is already set
if(isset($_COOKIE['wpb_visit_time'])) {
 
// Do this if cookie is set 
function visitor_greeting() {
 
// Use information stored in the cookie 
$lastvisit = $_COOKIE['wpb_visit_time'];
 
$string .= 'You last visited our website '. $lastvisit .'. Check out whats new'; 
 
return $string;
}   
 
} else { 
 
// Do this if the cookie doesn't exist
function visitor_greeting() { 
$string .= 'New here? Check out these resources...' ;
return $string;
}   
 
// Set the cookie
setcookie('wpb_visit_time',  $visit_time, time()+31556926);
}
 
// Add a shortcode 
add_shortcode('greet_me', 'visitor_greeting');
 
} 
add_action('init', 'wpb_cookies_tutorial2');add_action('init', 'wpb_cookies_tutorial2');

Chúng tôi đã comment những dòng quan trọng để bạn có thể thấy từng phần có nhiệm vụ như thế nào. Đoạn mã này sử dụng thông tin đã được lưu trữ trong cookie và đưa chúng ra ngoài bằng shortcode. Giờ bạn có thể sử dụng shortcode [greet_me] ở bất kỳ nơi nào trên website của mình, bạn sẽ nhận được mốc thời gian lần cuối truy cập website.

Hãy thử nghiệm và chỉnh sửa thêm đoạn code phía trên sao cho phù hợp với website của mình. Ví dụ: bạn có thể hiển thị các bài viết mới nhất cho người dùng cũ và các bài viết đặc sắc cho người dùng mới.

Xóa một cookie trong WordPress

Cho đến giờ chúng ta đã học được cách set cookie và sử dụng nó trên trang web của bạn. Bây giờ hãy xem cách xóa cookie như thế nào.

Để xóa cookie, bạn cần thêm dòng sau vào đoạn mã của mình.

unset($_COOKIE['wpb_visit_time']);

Đừng quên thay thế wpb_visit_time bằng tên của cookie bạn đang muốn xóa.

Chúng ta hãy đặt đoạn mã này trong một hoàn cảnh cụ thể, trong đó sử dụng lại đoạn mã ở phần trước, chỉ khác là lần này chúng ta sẽ xóa cookie và thay đổi giá trị của nó bằng thông tin mới.

function wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time = date('F j, Y g:i a');
// Check if cookie is already set
if(isset($_COOKIE['wpb_visit_time'])) {
// Do this if cookie is set
function visitor_greeting() {
// Use information stored in the cookie
$lastvisit = $_COOKIE['wpb_visit_time'];
$string .= 'You last visited our website '. $lastvisit .'. Check out whats new';
// Delete the old cookie so that we can set it again with updated time
unset($_COOKIE['wpb_visit_time']);
return $string;
}
} else {
// Do this if the cookie doesn't exist
function visitor_greeting() {
$string .= 'New here? Check out these resources…' ;
return $string;
}
}
add_shortcode('greet_me', 'visitor_greeting');
// Set or Reset the cookie
setcookie('wpb_visit_time', $visit_time, time()+31556926);
}
add_action('init', 'wpb_cookies_tutorial2');

Như bạn có thể thấy, đoạn mã này sẽ xóa cookie sau khi chúng ta đã sử dụng thông tin được nó lưu trữ. Sau đó, chúng tôi đặt lại thay cookie bằng thông tin thời gian hiện tại.

Chúng tôi hy vọng bài viết này đã giúp bạn học được cách dễ dàng get, set và xóa cookie WordPress. Bạn cũng có thể tham khảo thêm danh sách các thủ thuật cực kỳ hữu ích khác của chúng tôi cho file functions.php trên WordPress .

Nếu thích bài viết này, hãy đăng ký Kênh YouTube của chúng tôi để xem video hướng dẫn nhé. Bạn cũng có thể tìm thấy chúng tôi trên Twitter và Facebook để cập nhật các thông tin mới nhất từ CunghocWP.