Code ẩn nội dung chỉ thành viên đăng nhập mới thấy

Mình vừa thấy 1 hướng dẫn khá hay về việc ẩn nội dung với khách trên website wordpress. Mình đã test thử qua và nó hoạt động khá tốt.

Đối với WordPress cũng còn ít chức năng mà muốn bổ sung thì buộc người dùng phải thực sự am hiểu về lập trình web hoặc phải sử dụng những plugin cồng cành và nặng nề để thêm chức năng mong muốn. Nhiều bạn rất muốn trang web của mình mà ở đó một vài nội dung chỉ dành cho thành viên đăng nhập mới có thể xem được. Thì dưới đây mình sẽ chia sẻ cho các bạn một đoạn code ngắn với chức năng tương tự, chỉ cho phép thành viên đăng nhập mới có thể xem.

Code tạo Shortcode ẩn nội dung

Bạn copy đoạn code bên dưới và dán vào file functions.php của theme bạn đang sử dụng nhé.

//Start
add_shortcode('hidecontent', 'hide_content');
function hide_content($atts, $content = null) { if (is_user_logged_in() && !is_null($content) && !is_feed()) { return $content; } else { $atts = '<div class="hidecontent">Nội dung này chỉ dành riêng cho thành viên Tý Sói Blog.</div>'; return $atts;
}
}
//End

Để làm đẹp cho đoạn văn bản ẩn nội dung chỉ dành cho thành viên, thì bạn có thể thêm câu lệnh css vào file Style.css với class .hidecontent nhé

Cách để viết nội dung cần ẩn

Ở trình soạn thảo của WordPress, bạn tạo một Shortcode với nội dung là [hidecontent] tiếp đó bạn viết nội dung mà bạn cần ẩn Cuối cùng là dùng Shortcode thứ hai với nội dung là [/hidecontent] để đống lại đoạn nội dung cần ẩn.

[hidecontent]
Nội dung cần ẩn đi của website bạn.
[/hidecontent]

Chúng ta cùng xem kết quả khi chưa đăng nhập nhé

Và khi chúng ta đã đăng nhập vào website

Ẩn nội dung theo group user

Đối với 1 số trường hợp phân quyền xem cho group VIP. Chúng ta sẽ tạo 1 group VIP. Sau đó chúng ta thêm đoạn code sau vào functions.php

$tysoiblog_new_user = add_role('vip', __( 'Vip' ),
    array(
        'read'         => true,
        'edit_posts'   => true,
        'delete_posts' => false,
    )
);

Thay đoạn code ở phần đầu bài viết thành

add_shortcode( 'hidecontent', 'hide_content_vip' );
function hide_content_vip($atts, $content = null) {
    if(current_user_can('vip')) {return '<p>' . $content . '</p>';}
    else {return "Chỉ thuộc nhóm Vip mới có thể xem nội dung!";}
}

Như vậy chỉ cần đoạn code đơn giản bên trên là bạn có thể tạo ra một nội dung mà chỉ dành cho thành viên của website mới có thể xem rồi đó, rất là chuyên nghiệp phải không nào? 😀

Chúc các bạn thành công!

Nguồn Internet

3 2 votes
Article Rating
Nhận thông báo qua email
Thông báo cho
guest
1 Comment
Cũ nhất
Mới nhất Bình chọn nhiều nhất
Phản hồi
Xem tất cả bình luận
Hoàng Kim
Hoàng Kim
3 năm trước

Đúng cái mình cần cảm ơn bạn rất nhiều!