4 cách giới hạn số lượng form entries WordPress

4 tháng ago, Hướng dẫn WordPress, Views
4 cách giới hạn số lượng form entries WordPress

4 Cách Giới Hạn Số Lượng Form Entries WordPress

Trong quá trình xây dựng website WordPress, việc sử dụng form (biểu mẫu) để thu thập thông tin từ người dùng là rất phổ biến. Tuy nhiên, trong một số trường hợp, bạn có thể muốn giới hạn số lượng form entries (số lượng người điền form) vì nhiều lý do khác nhau, chẳng hạn như:

  • Hạn chế số lượng người tham gia một sự kiện hoặc chương trình khuyến mãi.
  • Ngăn chặn spam và lạm dụng form.
  • Quản lý tài nguyên máy chủ hiệu quả hơn.

Bài viết này sẽ hướng dẫn bạn 4 cách khác nhau để giới hạn số lượng form entries trên website WordPress của bạn.

1. Sử Dụng Plugin Chuyên Dụng

Cách đơn giản và hiệu quả nhất để giới hạn số lượng form entries là sử dụng plugin chuyên dụng. Có rất nhiều plugin miễn phí và trả phí có sẵn trên WordPress repository, mỗi plugin có những tính năng và ưu điểm riêng. Một số plugin phổ biến bạn có thể tham khảo:

  • Contact Form 7
  • Gravity Forms
  • WPForms
  • Formidable Forms

Tuy nhiên, để giới hạn form entries bằng những plugin này, bạn thường cần sử dụng các addon hoặc plugin bổ trợ. Ví dụ, với Contact Form 7, bạn có thể tìm kiếm các plugin như “Contact Form 7 Limit Submissions”.

Ví dụ với Contact Form 7 và plugin “Contact Form 7 Limit Submissions”:

  1. Cài đặt và kích hoạt plugin “Contact Form 7 Limit Submissions”.
  2. Truy cập trang chỉnh sửa form Contact Form 7 mà bạn muốn giới hạn.
  3. Trong tab “Submission Limit”, bạn có thể cài đặt số lượng entries tối đa, tin nhắn hiển thị khi đạt giới hạn, và thời gian bắt đầu/kết thúc giới hạn (nếu cần).

Ưu điểm:

  • Dễ dàng cài đặt và sử dụng.
  • Cung cấp nhiều tùy chọn cấu hình.
  • Thường có giao diện trực quan.

Nhược điểm:

  • Có thể cần trả phí để sử dụng các tính năng nâng cao.
  • Cần cài đặt thêm plugin, có thể ảnh hưởng đến hiệu suất website.

2. Sử Dụng Code Tùy Chỉnh (PHP)

Nếu bạn có kiến thức về lập trình PHP, bạn có thể viết code tùy chỉnh để giới hạn số lượng form entries. Cách này có thể phức tạp hơn so với việc sử dụng plugin, nhưng nó cho phép bạn có toàn quyền kiểm soát quá trình.

Ví dụ: Giới hạn submissions cho một form Contact Form 7 bằng cách sử dụng code trong file `functions.php` của theme:


    function limit_contact_form_7_submissions( $form_tag, $replace = '', $wrap = false ) {
      $form_id = 123; // Thay thế bằng ID của form Contact Form 7 của bạn
      $max_submissions = 100; // Số lượng submissions tối đa

      if ( $form_tag['name'] == 'your-form-name' ) { // Thay 'your-form-name' bằng tên form của bạn
        $submissions_count = get_option( 'cf7_submission_count_' . $form_id, 0 );

        if ( $submissions_count >= $max_submissions ) {
          return '

Xin lỗi, số lượng đăng ký đã đạt đến giới hạn.

'; } else { return $form_tag; } } return $form_tag; } add_filter( 'wpcf7_form_tag', 'limit_contact_form_7_submissions', 10, 3 ); function increment_submission_count( $contact_form ) { $form_id = $contact_form->id(); $submissions_count = get_option( 'cf7_submission_count_' . $form_id, 0 ); update_option( 'cf7_submission_count_' . $form_id, $submissions_count + 1 ); } add_action( 'wpcf7_mail_sent', 'increment_submission_count' );

Giải thích:

  • Hàm `limit_contact_form_7_submissions` kiểm tra xem số lượng submissions hiện tại đã đạt đến giới hạn chưa. Nếu đã đạt, nó sẽ trả về một thông báo lỗi. Ngược lại, nó sẽ trả về form tag.
  • Hàm `increment_submission_count` tăng số lượng submissions sau khi form được gửi thành công.
  • `wpcf7_form_tag` filter được sử dụng để can thiệp vào quá trình hiển thị form.
  • `wpcf7_mail_sent` action được sử dụng để chạy code sau khi email được gửi (tức là form đã được submit thành công).

Lưu ý quan trọng:

  • Thay thế `$form_id` bằng ID thực tế của form Contact Form 7 của bạn.
  • Thay thế `’your-form-name’` bằng tên form của bạn.
  • Code này chỉ là một ví dụ. Bạn có thể cần điều chỉnh nó để phù hợp với nhu cầu cụ thể của bạn.

Ưu điểm:

  • Toàn quyền kiểm soát.
  • Không cần cài đặt thêm plugin.

Nhược điểm:

  • Đòi hỏi kiến thức về lập trình PHP.
  • Có thể phức tạp và tốn thời gian.
  • Dễ gây ra lỗi nếu code không được viết cẩn thận.

3. Sử Dụng Dịch Vụ Email Marketing

Một số dịch vụ email marketing (như Mailchimp, GetResponse,…) cung cấp tính năng tạo form và quản lý subscribers. Bạn có thể sử dụng các dịch vụ này để tạo form đăng ký và giới hạn số lượng subscribers.

Cách thức hoạt động:

  1. Tạo một form đăng ký trên dịch vụ email marketing của bạn.
  2. Nhúng form này vào website WordPress của bạn.
  3. Thiết lập giới hạn số lượng subscribers trong tài khoản dịch vụ email marketing của bạn.

Khi số lượng subscribers đạt đến giới hạn, form sẽ tự động ngừng nhận đăng ký mới.

Ưu điểm:

  • Dễ dàng sử dụng (thường có giao diện trực quan).
  • Tích hợp sẵn các tính năng email marketing.

Nhược điểm:

  • Có thể tốn phí (tùy thuộc vào dịch vụ và số lượng subscribers).
  • Form có thể không hoàn toàn tùy biến so với các form được tạo trực tiếp trên WordPress.

4. Sử Dụng Các Dịch Vụ Form Building Trực Tuyến

Các dịch vụ form building trực tuyến như Google Forms, Typeform, Jotform cũng là một lựa chọn. Bạn có thể tạo form trên các nền tảng này và nhúng vào website WordPress của bạn. Hầu hết các dịch vụ này đều cung cấp các tùy chọn để giới hạn số lượng submissions.

Ví dụ với Google Forms:

  1. Tạo form trên Google Forms.
  2. Trong phần “Settings”, tìm đến mục “Responses”.
  3. Bật tùy chọn “Limit to 1 response”. (Điều này giới hạn mỗi người dùng chỉ được gửi 1 response sau khi đăng nhập vào tài khoản Google của họ).
  4. Hoặc, bạn có thể bật tùy chọn “Accepting responses” và vô hiệu hóa nó khi bạn muốn ngừng nhận responses.
  5. Nhúng form vào website WordPress của bạn bằng cách sử dụng iframe.

Ưu điểm:

  • Dễ dàng sử dụng và tạo form.
  • Miễn phí (với các tùy chọn cơ bản).
  • Tính năng giới hạn submission thường có sẵn.

Nhược điểm:

  • Ít tùy biến hơn so với các plugin WordPress.
  • Dữ liệu được lưu trữ trên server của bên thứ ba.

Kết luận

Có nhiều cách để giới hạn số lượng form entries trên website WordPress của bạn. Tùy thuộc vào nhu cầu và kỹ năng của bạn, bạn có thể chọn một trong các phương pháp trên. Plugin là cách đơn giản nhất, nhưng code tùy chỉnh cho phép bạn có toàn quyền kiểm soát. Dịch vụ email marketing và form building trực tuyến cũng là những lựa chọn tốt nếu bạn muốn tích hợp các tính năng khác.