WordPress là một nền tảng quản lý nội dung mạnh mẽ và linh hoạt cho các trang web của bạn. Bạn có thể tạo các bài đăng đơn giản hoặc phức tạp mà không cần biết về mã hóa. Một trong những tính năng dễ dàng tùy chỉnh của WordPress chính là Custom Field Post, cho phép bạn thêm các trường tùy chỉnh vào các bài đăng của mình. Trường tùy chỉnh này có thể giúp bạn quản lý và hiển thị các thông tin cụ thể liên quan đến bài viết của bạn, giúp trang web của bạn trở nên đầy đủ và đáng tin cậy hơn. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách sử dụng và tùy chỉnh Custom Field Post trong WordPress.

Bước 1: Tìm hiểu về Custom Field Post
Trước khi bắt đầu, chúng tôi sẽ giải thích rõ hơn về Custom Field Post là gì và cách hoạt động của nó. Custom Field Post là một tính năng trong WordPress cho phép bạn thêm các trường dữ liệu tùy chỉnh vào các bài đăng của mình. Về cơ bản, khi tạo bài đăng mới trong WordPress, bạn sẽ thấy một số trường thông tin cơ bản như tiêu đề, nội dung và hình ảnh. Custom Field Post cho phép bạn chèn thêm các trường dữ liệu khác, ví dụ như giá sản phẩm, thông tin địa điểm hoặc thời gian tổ chức sự kiện. Bạn có thể tùy chỉnh các trường này và hiển thị chúng trên bài đăng của mình theo cách bạn muốn.
Bước 2: Tạo Custom Field Post trong WordPress
Dựa trên giả định rằng trang từ thiện smileeyecharity.org có các trường thông tin tùy chỉnh như “đếm like” và “tiến độ”, ta có thể mở rộng cách tiếp cận để quản lý và hiển thị thông tin này.
Tạo file: custom_meta_box.php
<?php
// Chặn truy cập trực tiếp vào file PHP này từ trình duyệt
if (!defined('ABSPATH')) {
exit;
}
// Thêm hành động để thêm một meta box mới
add_action('add_meta_boxes', 'add_custom_meta_box');
// Hàm định nghĩa meta box
function add_custom_meta_box() {
// Thêm một meta box mới
add_meta_box(
'custom_meta_box', // ID của meta box
'Custom Meta Box', // Tiêu đề của meta box
'show_custom_meta_box', // Hàm gọi lại để hiển thị nội dung của meta box
'post', // Loại bài đăng áp dụng (ở đây là 'post')
'normal', // Vị trí hiển thị của meta box (ở đây là 'normal')
'high' // Mức độ ưu tiên hiển thị (ở đây là 'high')
);
}
// Hàm hiển thị nội dung của meta box
function show_custom_meta_box($post) {
// Tạo một trường nonce để xác thực
wp_nonce_field(basename(__FILE__), 'custom_meta_box_nonce');
// Lấy giá trị meta data đã lưu nếu có
$like_count = get_post_meta($post->ID, 'like_count', true);
$progress = get_post_meta($post->ID, 'progress', true);
// Phần HTML tạo các trường nhập liệu
?>
<p>
<label for="like_count">Số lượt thích:</label>
<input type="number" name="like_count" id="like_count" value="<?php echo esc_attr($like_count); ?>" />
</p>
<p>
<label for="progress">Tiến trình:</label>
<input type="number" name="progress" id="progress" value="<?php echo esc_attr($progress); ?>" min="0" max="100" />
<span>%</span>
</p>
<?php
}
// Thêm hành động để lưu dữ liệu meta box khi bài đăng được lưu
add_action('save_post', 'save_custom_meta_box_data');
// Hàm lưu dữ liệu meta box
function save_custom_meta_box_data($post_id) {
// Kiểm tra nonce và quyền của người dùng
if (!isset($_POST['custom_meta_box_nonce']) || !wp_verify_nonce($_POST['custom_meta_box_nonce'], basename(__FILE__))) {
return $post_id;
}
// Kiểm tra quyền của người dùng
if ('post' == $_POST['post_type']) {
if (!current_user_can('edit_post', $post_id)) {
return $post_id;
}
}
// Lọc và lưu dữ liệu nhập từ các trường
$like_count = sanitize_text_field($_POST['like_count']);
$progress = sanitize_text_field($_POST['progress']);
// Cập nhật dữ liệu meta
update_post_meta($post_id, 'like_count', $like_count);
update_post_meta($post_id, 'progress', $progress);
}
Bước 3: Gọi lại trong file functions.php
include_once 'custom_meta_box.php';
Kết luận
Custom Field Post là một tính năng mạnh mẽ trong WordPress cho phép bạn tùy chỉnh và hiển thị các trường dữ liệu tùy chỉnh trên bài đăng của mình. Trong hướng dẫn này, chúng tôi đã giải thích cách sử dụng, tạo và tùy chỉnh Custom Field Post trong WordPress. Hy vọng hướng dẫn này sẽ giúp bạn làm quen với chức năng này và tăng tính linh hoạt cho trang web của bạn.