Bài 09: Bốn bước custom Meta Boxes trong WordPress

Đóng góp bởi: Lê Thiện 101 lượt xem Đăng ngày 16/08/2023

Tới bài thứ chín này thì khái niệm Custom Meta Boxes không còn xa lạ gì nữa phải không các bạn. Nếu đây là bài đầu tiên của bạn trong series này và bạn chưa thực sự hiển về Meta Boxes thì tôi khuyên bạn nên quay lại đọc từ bài thứ nhất vì điều này sẽ giúp bạn có một hệ thống rõ ràng hơn.

Trong bài này mình sẽ hướng dẫn các bạn làm thế nào để tạo một Meta Box chỉ trong bốn bước. Và để tiện cho việc viết bài thì mình sẽ sử dụng Meta Boxes và Metadata để bổ sung link download và link demo cho mỗi bài viết nhé.

  • Link download có tên key là: post_link_download
  • Link demo có tên key là: post_link_demo

    Bước 1: Tạo một Meta Box

    Chúng ta sẽ sử dụng hàm add_meta_box() và action add_meta_boxes để thêm một Meta Box vào trong trang edit bài viết. Về chi tiết cách sử dụng hàm này thì mình đã giải thích rất rõ trong bài Custom Meta Boxes – Metadata trong WordPress.

    Trước tiên bạn tạo cho tôi một file tên là metabox-three-steps.php nằm trong thư mục includes của plugin, sau đó vào file wp-learn.php xóa nội dung cũ và thay vào đó là đoạn code require file metabox-three-steps.php.

    Bài viết này được đăng tại [toptheme.info]

  • File wp-learn.php.

    Ok bây giờ ta sẽ viết code tạo Meta Box. Bạn mở file metabox-three-steps.php lên và nhập vào nội dung sau:

    Bây giờ bạn vào admin và sửa một bài viết bất kì thì sẽ thấy một khung có giao diện như sau:

    Bước 2: Hiển thị thông tin trong Meta Box

    Bước này khá đơn giản là ta chỉ việc sử dụng hàm get_post_meta() để lấy dữ liệu từ bảng postmeta và show lên cho người dùng nhìn thấy.

    Bạn sửa lại hàm show_metabox() trong file metabox-three-steps.php như sau:

    Lúc này giao diện sẽ như sau:

    Bước 3: Thực hiện thao tác lưu Meta Box

    Bây giờ ta sẽ bắt sự kiện khi người dùng lưu bài viết thì ta sẽ lưu lại thông tin của Meta Box.

    Bạn thêm vào file metabox-three-steps.php một đoạn code như sau:

    Bạn chạy lên sau đó nhập dữ liệu và click Lưu thì giao diện dạng như sau:

    Bước 4: Xóa Meta Box khi xóa bài viết

    Để tối ưu tài nguyên thì khi xóa một bài viết chúng ta nên xóa luôn các meta này bởi vì nó là dữ liệu dư thừa. Để bắt sự kiện xóa bài viết thì ta sử dụng action delete_post. Bạn mở file metabox-three-steps.php lên và nhập vào nội dung sau:

    Vậy là xong, bạn hãy thêm một bài viết và nhập dữ liệu vào đó, sau đó xóa bài viết rồi tự mình vào PHP MyAdmin xem kết quả nhé 🙂

    Và đây là toàn bộ code của chúng ta.

    # Lời kết

    Trên là bốn bước cơ bản để tạo một Meta boxes, với bốn bước đơn giản như vậy bạn đã có thể bổ sung dữ liệu vào các bài viết. Vì chúng ta đang học nên tại bước 4 bạn hãy tự mình vào trong bảng postmeta xem kết quả có xóa không nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Mẫu web mới đăng

Mời bạn xem một số mẫu web mới đăng của Toptheme.info | NinhBinhweb