Nếu blog của bạn có một số khu vực giới hạn mà bạn không muốn công khai cho tất cả các du khách, chỉ cho thành viên mới, sau đó bạn có thể muốn để buộc người dùng phải đăng nhập trước khi đọc những bài viết . May mắn thay, WordPress có một function được xây dựng trong đó có thể giúp chúng tôi làm điều đó.
Các function là auth_redirect () , đây là cách hoạt động: Khi nó được gọi từ một trang, nó sẽ kiểm tra xem nếu người dùng đang xem trang đó là đăng nhập Nếu người dùng không đăng nhập, họ được. Chuyển hướng đến trang đăng nhập . Người dùng đang chuyển hướng theo một cách như vậy mà, sau khi đăng nhập vào, chúng sẽ được gửi trực tiếp đến trang họ đã được ban đầu cố gắng truy cập .
Bằng cách sử dụng chức năng này, chúng ta có thể thực hiện mã của chúng tôi mà kiểm tra nếu bài bị hạn chế hay không, và chuyển hướng người dùng đến trang đăng nhập nếu cần thiết.
Chỉ cần dán đoạn code sau vào file theme’s functions.php của bạn:
[php]function my_force_login() {
global $post;
if (!is_single()) return;
$ids = array(188, 185, 171); // array of post IDs that force login to read
if (in_array((int)$post->ID, $ids) && !is_user_logged_in()) {
auth_redirect();
}
}[/php]
Thay đổi các array của post IDs để phù hợp với yêu cầu của bạn. Sau đó, mở tập tin header.php
và đặt đoạn code sau vào đầu trang:
[php]<?php my_force_login(); ?>[/php]
Code này là đơn giản, nhưng bạn có thể mở rộng nó với nhiều tùy chọn như: yêu cầu đăng nhập vào một số mục cụ thể, làm cho một trang tùy chọn để dễ dàng đầu vào bài ID, vv