Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

Hướng dẫn custom field post WordPress

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.

field post wordpress 6863 new
Hướng dẫn custom field post WordPress 6

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.

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 *