[WordPress] Delete Password Protected posts cookies when a user logged out from the site

Khi tạo password cho page trong wordpress thì sau khi ta mún xoá thì không biết cách nào xoá cookie cho page đó, sau đây là đoạn code mình viết thêm để giúp ta có thể tạo button logout xoá cookie cho tất cả các trang page mà mình đặt password sau khi xem xong.

Bạn vào thư mục theme thêm đoạn code tạo shortcode sau vào file function.php

function wvn_clear_postpass( $atts, $content= NULL) {
    foreach($_COOKIE as $cookieKey => $cookieValue) {
        if(strpos($cookieKey,'wp-postpass_') === 0) {
            // remove the cookie
            setcookie($cookieKey, null, -1);
            unset($_COOKIE[$cookieKey]);
        }
    }
}
add_shortcode ( 'wvn_clear_postpass' , 'wvn_clear_postpass' );

Sau chèn xong shortcode xong, bạn tạo một trang logout cho webiste và chèn đoạn shortcode vào page đó :

[wvn_clear_postpass]

Sau đó bạn chèn đoạn code sau vào file page.php của theme, vào vị trí bạn mún hiện nút logout xoá cookie :

<php
if ( isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) ) {
?>
  <div class="button-postpass">
    <a href="<?php echo get_site_url(); ?>/logout" class="dt-btn dt-btn-m">ĐĂNG XUẤT</a>
  </div>
<?php 
}
?>

Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều.

Nguồn : www.webvina.net

Đánh giá post
[related_posts_by_tax posts_per_page="6" title="Bài liên quan" taxonomies="category,post_tag"]

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Hotline: 0974.0707.83(Zalo/Viber)