Buộc người dùng đăng nhập Trước khi đọc bài viết trong WordPress

Nếu blog của bạn có một số khu vực hạn chế mà bạn không muốn công khai cho tất cả khách truy cập, chỉ dành cho thành viên, sau đó bạn có thể muốn buộc người dùng đăng nhập trước khi đọc các bài đăng này . May mắn thay, WordPress có một chức năng tích hợp có thể giúp chúng tôi để làm điều đó.

WordPress: buộc người dùng đăng nhập trước khi đọc bài viết

Chức năng là auth_redirect (), đây là cách nó hoạt động: Khi nó được gọi từ một trang, nó sẽ kiểm tra để xem nếu người dùng xem trang được đăng nhập Nếu người dùng không đăng nhập, chúng được được chuyển hướng đến trang đăng nhập . Người dùng được chuyển hướng theo cách mà khi đăng nhập, chúng sẽ được gửi trực tiếp đến trang họ ban đầu cố truy cập .

Bằng cách sử dụng chức năng này, chúng tôi có thể thực hiện mã của chúng tôi để kiểm tra xem bài đăng có bị hạn chế hay không và chuyển hướng người dùng tới trang đăng nhập nếu cần.

Chỉ cần dán mã sau đây vào chủ đề của bạn functions.php tập tin:

chức năng my_force_login () {
     bài đăng toàn cầu $;

     nếu (! is_single ()) trở lại;

     $ id = mảng (188, 185, 171);  // mảng ID đăng nhập buộc đăng nhập để đọc

     if (in_array ((int) $ post-> ID, $ id) &&! is_user_logged_in ()) {
     auth_redirect ();
     }
     } 

Thay đổi mảng ID bài đăng để phù hợp với yêu cầu của bạn. Sau đó mở header.php tập tin và đặt mã sau đây trong đầu rất:

Mã này rất đơn giản, nhưng bạn có thể mở rộng nó với nhiều tuỳ chọn hơn như: yêu cầu đăng nhập trong một số danh mục cụ thể, tạo một trang tùy chọn cho ID đăng nhập dễ dàng, v.v.

Chức năng auth_redirect () có sẵn từ WordPress 1.5.