Đăng nhập

Lập trình WordPress: Custom Fields

Tạo Custom Fields bằng ACF (Advanced Custom Fields) – đây là công cụ cực mạnh để thêm các trường dữ liệu tùy chỉnh cho bài viết, trang, hoặc Custom Post Type.

Mục tiêu của bài học:

Bạn sẽ học cách:

  • Tạo các field riêng (như: Giá, Thời lượng, Giảng viên…)
  • Gắn vào bài viết, trang, hoặc custom post type
  • Hiển thị dữ liệu đó ra ngoài giao diện

Bước 1: Cài plugin ACF

Cài như sau:

  1. Vào Giao diện quản trị WordPress
  2. Menu trái chọn Plugin → Thêm mới
  3. Gõ tìm: Advanced Custom Fields
  4. Cài đặt & Kích hoạt

Bước 2: Tạo nhóm custom field

  1. Vào Custom Fields → Add New
  2. Đặt tên nhóm: “Thông tin khóa học”
  3. Bấm Add Field
    • Label: Giá khóa học → Field name: gia
    • Label: Giảng viên → Field name: giang_vien
    • Label: Thời lượng → Field name: thoi_luong
  4. Kéo xuống dưới, tại “Location”:
    • Chọn: Post Type → is equal to → khóa học (khoahoc)

Điều này giúp ACF chỉ hiển thị nhóm field đó khi bạn tạo bài viết dạng Khóa học.

  1. Nhấn Publish

Bước 3: Nhập dữ liệu

  • Vào Khóa học → Thêm mới
  • Bạn sẽ thấy xuất hiện thêm các trường: Giá, Giảng viên, Thời lượng
  • Nhập nội dung rồi Đăng bài

Bước 4: Hiển thị dữ liệu Custom Fields ra ngoài

Mở file single-khoahoc.php và thêm:

<?php get_header(); ?>

<h1><?php the_title(); ?></h1>

<div>
    <?php the_content(); ?>
</div>

<p><strong>Giá:</strong> <?php the_field('gia'); ?> VNĐ</p>
<p><strong>Giảng viên:</strong> <?php the_field('giang_vien'); ?></p>
<p><strong>Thời lượng:</strong> <?php the_field('thoi_luong'); ?></p>

<?php get_footer(); ?>

the_field('gia') là cách ACF lấy giá trị bạn nhập ở phần admin.

Mẹo nâng cao (không bắt buộc)

Việc cần làmCách thực hiện
Hiển thị nếu có dữ liệuif (get_field('gia')) { ... }
Hiển thị ảnh tùy chỉnhDùng field loại “Image” + wp_get_attachment_image()
Hiển thị group/phức tạpDùng “Repeater”, “Flexible Content” (PRO)

Tổng kết

Việc bạn vừa họcÝ nghĩa
Cài ACFPlugin giúp tạo custom fields dễ nhất
Tạo nhóm fieldGắn field vào đúng loại bài viết
Dùng the_field() để hiển thịĐưa dữ liệu từ admin ra ngoài giao diện

Thảo luận

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 *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.