Ngày đăng: 09/08/2014 11:00 AM

Thiết kế website bằng wordpress hướng dẫn tạo số tự động tăng khi sử dụng plugin Advanced Custom Fields, mã tự động tăng tích hợp cho những website có mã số như: mã sản phẩm, mã bất động sản.

Ví dụ sau sử dụng plugin Advanced Custom Fields các trường như:

Advanced Custom Fields tự động tăng giá trị cho field
Mã số, địa chỉ, số tầng, diện tích sàn …là một trong những thuộc của một website cung cấp văn phòng cho thuê.
Sản phẩm được quản lý bằng mã số, mã số này tự động tăng khi đăng một sản phẩm mới. Để thực hiện việc tăng tự động mã số chúng ta dùng cách sau:
– Gán 1 biến nhận giá trị lớn nhất hiện tại.
– Lấy biến này ra và +1, sau đó gán biến đã +1 cho mã số của sản phẩm
– Cập nhật giá trị lớn nhất ở hiện tại.
Chúng ta xem đoạn code dưới.

  1. function setOrderNumber($post_id) {
  2.     $post_type = ‘poperties’; // slug of your post_type called “Orders”
  3.     $field_key = “maso”;
  4.     if ($post_type != $_POST[‘post_type’]) {
  5.         return;
  6.     }
  7.     if (!current_user_can(‘edit_post’, $post_id)) {
  8.         return;
  9.     }
  10.     $counter = (int) get_option(‘lastOrderCount’); // ví dụ: ban đầu là 2
  11.     $real = (int) get_field($field_key, $post_id);
  12.     if ($real == 0) {
  13.         $counter++; // sau đó sẽ là 3
  14.         update_field($field_key, $counter, $post_id);
  15.         update_option(‘lastOrderCount’, $counter); // set the new number of order. 
  16.     }
  17. }

Dòng 1: là kiểu post type mà chúng ta muốn dùng là gì
Dòng 2: key của mã số, được tạo bởi plugin Advanced Custom Fields
Dòng 3: nếu không đúng kiểu post_type thì không làm gì
Dòng 7: nếu user hiện tại không được phép sửa bài viết thì cũng không làm gì
Dòng 10: lấy số lớn nhất hiện tại thông qua get_option
Dòng 11: lấy mã số hiện tại của bài viết đó, nếu >0 thì chứng tỏ sản phẩm này đã có mã số rồi thỉ không tăng nữa, ngược lại nếu =0 thì chứng tỏ chưa có mã số thì tăng lên 1
Dòng 12: tăng giá trị hiện tại lên 1
Dòng 13: cập nhật key mã số bằng giá trị đã +1
Dòng 14: cập nhật giá trị lớn nhất.

Chú ý: Đoạn code này bạn chèn thêm vào file functions.php nha !.

Chúc bạn thành công, nhớ chia sẽ bài viết này cho những người cần tới bạn nhé.