Ứng dụng Post Meta trong Wordpress
     

Với 2 kiểu viết nội dung trên WordPress đó là Posts và Pages, người dùng có thể thỏa thích viết nội dung thông qua các trình soạn thảo (editor). Nhưng có một tính năng được tích hợp trong 2 kiểu này mà ít người thường sử dụng, đó là Post Meta.

Với 2 kiểu viết nội dung trên WordPress đó là Posts và Pages, người dùng có thể thỏa thích viết nội dung thông qua các trình soạn thảo (editor). Nhưng có một tính năng được tích hợp trong 2 kiểu này mà ít người thường sử dụng, đó là Post Meta.

Post meta (cũng thường được biết như là Custom fields) là một tính năng mà [WordPress] cho phép chúng ta thêm các thuộc tính khác cho nội dung bài viết. Để dễ hiểu hơn về post meta, trước tiên chúng ta sẽ cùng tìm hiểu cách chèn post [meta] vào trong mỗi bài viết theo kiểu Posts và Pages.

Kích hoạt Post meta từ WordPress admin

Mặc định thì post meta sẽ không hiển thị ngay ở phần nhập nội dung, để bật tính năng này, các bạn click vào Screen Options (nằm ở phần đầu trong phần admin) rồi sau đó đánh dấu chọn lựa vào mục Custom Fields.

Ngay khi bạn bật tính năng post meta từ screen options , bạn sẽ thấy ngay một mục Custom Fields nằm ngay bên dưới trình soạn thảo ghi nội dung bài viết.

Ban đầu các bạn sẽ thấy một danh sách các post meta keys mà các bạn đã nhập trước đó, nếu các bạn muốn tạo mới thì nhấp vào [link] Enter new. Giả sử các bạn cần nhập thêm cho bài viết thêm một trường mới là Price và giá trị là $450 thì các bạn nhập như sau :

Và khi bạn nhấn nút Publish thì trường này sẽ gắn liền với bài viết đó.

Sử dụng post meta trong Theme

Bây giờ nếu các bạn xem bài viết đó ở bên ngoài (front end) thì thấy vẫn chỉ có nội dung bài viết, còn trường Price mà chúng ta vừa thêm vào vẫn không thấy ở đâu. Và để nó có thể hiện ra theo bài viết đó, thì chúng ta cần chỉnh sửa [code] một chút trong [theme] như sau :

1    $price = get_post_meta(get_the_ID(), 'Price', true);
2    echo 'Cost of the item : '.$price;

Các bạn chỉ việc copy đoạn code bên trên và dán vào bất kì file nào trong theme mà các bạn muốn hiển thị trường Price. Giả sử các bạn paste nó vào file single.php thì nó sẽ hiển thị như sau :

Chèn Post meta qua code

Ngoài việc update post meta bằng tay trong admin, chúng ta còn có thể tự động cập nhật giá trị cho các post meta thông qua code. Quay lại ví dụ trên, giả sử chúng ta cần tự động cập nhật giá trị meta Discount mỗi khi giá trị meta Price lớn hơn $400 thì chúng ta cần chèn đoạn code sau vào file function.php như sau :



Trong đoạn code trên, mỗi khi chúng ta nhập giá trị Price lớn hơn $400 thì tự động giá trị Discount sẽ là 15%.

Post meta và Custom post type

Post meta là một tính năng hữu ích, chính vì thế mà nó cũng được hỗ trợ cho các Custom post type, tuy nhiên để sử dụng được tính năng này thì các bạn cần phải thêm nó vào trong tham số supports của hàm register_post_type như sau :



Tự động chèn Custom Field khi post hoặc page được đăng (published)

Khi bạn cần chèn giá trị custom field mặc định vào mỗi bài viết được đăng thì chỉ cần copy đoạn code sau và dán vào file funtions.php. Nhớ đổi giá trị FIELD_NAME và CUSTOM VALUE phù hợp với giá trị của các bạn nhé.



Hy vọng bài viết này sẽ giúp các bạn hiểu và sử dụng Post meta cho các mục đích của mình, nếu có gì khó hiểu, các bạn đừng ngần ngại để lại lời nhắn dưới dạng [comments]. Chúng tôi sẽ giúp các bạn hiểu rõ hơn về post meta.