Học WordPress + AI / WordPress cho người VIỆT !
WPShare247

Học wordpress cho người mới bắt đầu

  • Bắt đầu
    • Học WordPress
    • Elementor
    • WooCommerce
    • Tạo WordPress
    • Học WordPress kiểu mới 2025
    • Học PHP cơ bản
    • Tạo Website bằng WordPress
    • Quản trị WordPress
    • Sửa lỗi WordPress
    • Theme wordpress
    • Plugin WordPress
    • Hàm PHP
    • Seo WordPress
    • Bảo mật WordPress
    • Html & Css
    • Javascript và jQuery
    • Hướng dẫn lập trình
  • Video
    • Video TikTok
    • Video Shorts
  • Kho plugin
  • Tải Web Miễn Phí
  • Công cụ
    • Kiểm tra web WordPress
    • WordPress theme gì?
    • Check IP Website
    • Kiểm tra Tên Miền
    • Kiểm Tra SSL
    • Tạo File Disavow Google
    • Tạo QR Code
  • Giới thiệu
    • Khuyến Mãi
  • Đăng nhập
X
☰

Trang chủ » WordPress nâng cao » Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

📌 Mới: Bạn có thể 🧠 đặt câu hỏi cho AI về nội dung bài viết này ở cuối trang!

Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

Xuất bản vào 27/04/2022 bởi Chinsu Man Xem: 4494
Shares
ChatGPT ChatGPT
Share
Share
Pin

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

Bài viết hướng dẫn có chứa CODE - Copy và sử dụng chúng sẽ tiện hơn cho bạn.

Mặc dù rất tệ Văn, phải công nhận là rất tệ, các đọc giả thường hay phàn nàn rằng “Sai chính tả kìa”. Nhưng không sao cả mình đang cố gắng từng ngày để chữa lỗi đây. Mọi người có thấy sai thì góp ý nhé.

Không dài dòng luyên thuyên nữa, nói xíu nữa là quên lối về luôn à. Thôi quay trở lại uống nước trà thôi.

🌱 Nếu thấy bài viết hữu ích, bạn có thể ủng hộ tác giả bằng cách nhấn vào quảng cáo bên dưới — như một donate miễn phí. Bạn không mất gì nhưng chúng tôi sẽ có thêm chi phí để duy trì và vận hành website. Cảm ơn bạn! 🙏

Hãy COPY rồi PASTE bạn sẽ có cả Thế Giới

1. MetaBox là gì nhỉ ?

Meta là không phải là tên mới của Facebook đâu nhé :), còn Box là cái hộp chính xác là như vậy rồi.

Nhưng trong WP thì MetaBox là một khung chứa giúp tác giả nhập liệu hoặc tùy chỉnh liên quan đến bài viết, trang hoặc các Custom Post type. Xem hình bên dưới để hiểu rõ nhé. MetaBox hay còn gọi là Custom MetaBox.

Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

Phải công nhận Metabox là một tiện ích không thể tuyệt vời hơn mà WP đã ban tặng cho chúng ta.

2. Làm sao để tạo Custom MetaBox trong WordPress?

Một câu hỏi khá thú vị mà tôi tự đặt ra rồi tự trả lời. Ai ơi đừng vội đừng vàng…Từ từ cháo nó cũng nhừ 🙂 Các bạn cứ làm theo các bước bên dưới, đảm bảo cũng xong nếu không thành công cũng có việc đi Fix lỗi thôi, đừng lo vì quá lo !!!

2.1  Thêm MetaBox

Thông qua action WP cung cấp hãy dùng nó như là ăn cơm bữa với món add_meta_boxes. Nhớ tất cả các đoạn code trong bài viết này đều khai báo trong file: functions.php nhé. Còn nếu ai chưa tìm thấy file này đâu, hãy quay lại học từ bài số 1 là vừa.

<?php
add_action( 'add_meta_boxes', 'wpshare247_add_new_metabox' );

Tiếp theo tạo hàm wpshare247_add_new_metabox php vừa khai báo ở trên. Các đoạn code tôi sẽ gom lại cho đầy đủ nhé, đừng thắc mắc vì sao mà hãy đọc lại toàn bộ code.

<?php
add_action( 'add_meta_boxes', 'wpshare247_add_new_metabox' );
function wpshare247_add_new_metabox(){
//Code ở đây nè...xem tiếp bên dưới
}

Khai báo các tham số cho MetaBox

<?php
add_action( 'add_meta_boxes', 'wpshare247_add_new_metabox' );
function wpshare247_add_new_metabox(){
    //MetaBox thứ 1 ---------------------------------------
    $id = 'wpshare247_add_new_metabox_1'; // Dùng để đánh dấu định danh chứ không có gì quan trọng
    $title = __( 'Tiêu đề METABOX 1', 'wpshare247' );
    $func_callback = 'wpshare247_add_new_metabox_callback1'; // Hàm callback để hiển thị Form nhập liệu MB
    $arr_post_type = array('post', 'page', 'product'); // Danh sách các loại Post mà bạn muốn MB xuất hiện khi thêm mới
    $context = 'normal'; // Gồm các giá trị: [ advanced ; side ; normal ]
    $priority = 'low'; // Thứ tự xuất hiện: low ; high; default
    add_meta_box( $id, $title, $func_callback, $arr_post_type, $context, $priority, $callback_args);
}

function wpshare247_add_new_metabox_callback1($post){
//Hiển thị Form của Metabox
?>
Các field meta xuất hiện tại đây
<?php
}

Tiếp theo bạn vào trong Admin, vào menu trái “Thêm mới bài viết” Hoặc “Thêm mới trang” bạn sẽ thấy xuất hiện hộp dữ liệu như hình bên dưới đây.

Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

Sau khi thêm MetaBox xuất hiện như hình trên.

Giải thích:

  • {$id}: Dùng để đánh dấu định danh chứ không có gì quan trọng
  • {$title}: Tiêu đề của MB
  • $func_callback: Hàm callback để hiển thị Form nhập liệu MB
  • $arr_post_type: Danh sách các Post mà bạn muốn xuất hiện MB
  • $context: Vị trí xuất hiện của MB
  • $priority: Thứ tự xuất hiện của MB theo trục dọc từ trên xuống dưới theo giá trị high, default, low

OK tốt rồi đó. Giờ qua bước tiếp theo được rồi chứ.

2.2  Khai báo các trường dữ liệu

Bước này các bạn chỉ nên tập trung vào hàm wpshare247_add_new_metabox_callback1 thôi nhé, đừng lơ là mà “Rớt Tốt Nghiệp”

<?php
add_action( 'add_meta_boxes', 'wpshare247_add_new_metabox' );
function wpshare247_add_new_metabox(){
    //MetaBox thứ 1 ---------------------------------------
    $id = 'wpshare247_add_new_metabox_1'; // Dùng để đánh dấu định danh chứ không có gì quan trọng
    $title = __( 'Tiêu đề METABOX 1', 'wpshare247' );
    $func_callback = 'wpshare247_add_new_metabox_callback1';
    $arr_post_type = array('post', 'page', 'product'); // Danh sách các loại Post mà bạn muốn MB xuất hiện khi thêm mới
    $context = 'normal'; // advanced ; side ; normal
    $priority = 'low'; // Thứ tự xuất hiện: low ; high; default
    add_meta_box( $id, $title, $func_callback, $arr_post_type, $context, $priority, $callback_args);
}

function wpshare247_add_new_metabox_callback1($post){
    //Hiển thị Form của Metabox
    ?>
    
    <!-- Kiểu Select -->
    <div class="wpshare247-group-item">
    	<div><label for="wpshare247_field"><strong>Đây là mô tả Select</strong></label></div>
        <select name="wpshare247_field_select" id="wpshare247_field" class="postbox">
            <option value="">Công ty Dịch vụ TBAY có bao nhiêu Website nào?</option>
            <option value="tbay.vn">tbay.vn</option>
            <option value="website366.com">website366.com</option>
            <option value="wpshare247.com">wpshare247.com</option>
            <option value="raotin247.com">raotin247.com</option>
        </select>
    </div>
    
    <!-- Kiểu Text -->
    <div class="wpshare247-group-item">
    	<div><label for="wpshare247_field"><strong>Công ty Dịch vụ TBAY có đào tạo Lập trình Web WordPress hay không?</strong></label></div>
        <input style="width:100%" name="wpshare247_field_text" type="text" value="" placeholder="Công ty Dịch vụ TBAY có đào tạo Lập trình Web WordPress" />
    </div>
    
    <!-- Bạn cũng có thể khai báo thêm các kiểu khác như: Textarea, checkbox, radio.... -->
    <?php
}

WOW thật diệu kì đúng không? Đó chỉ là câu bất ngờ cho các bạn mới lần đầu biết tới MB, chứ nó cũng bình thường thôi.

SOS…….chưa xong đâu nhé, tới đây thì chưa dùng được đâu, còn bước bên dưới đây nữa !!!!

2.3 Lưu dữ liệu các trường khai báo

Chú ý hàm wpshare247_save_postdata 

<?php
//Step 1
add_action( 'add_meta_boxes', 'wpshare247_add_new_metabox' );
function wpshare247_add_new_metabox(){
    //MetaBox thứ 1 ---------------------------------------
    $id = 'wpshare247_add_new_metabox_1'; // Dùng để đánh dấu định danh chứ không có gì quan trọng
    $title = __( 'Tiêu đề METABOX 1', 'wpshare247' );
    $func_callback = 'wpshare247_add_new_metabox_callback1';
    $arr_post_type = array('post', 'page', 'product'); // Danh sách các loại Post mà bạn muốn MB xuất hiện khi thêm mới
    $context = 'normal'; // advanced ; side ; normal
    $priority = 'low'; // Thứ tự xuất hiện: low ; high; default
    add_meta_box( $id, $title, $func_callback, $arr_post_type, $context, $priority, $callback_args);
}

//Step 2
function wpshare247_add_new_metabox_callback1($post){
    //Hiển thị Form của Metabox
    
    $wpshare247_field_select_val = get_post_meta($post->ID, 'wpshare247_field_select', true );
    ?>
    
    <!-- Kiểu Select -->
    <div class="wpshare247-group-item">
    	<div><label for="wpshare247_field"><strong>Đây là mô tả Select</strong></label></div>
        <select name="wpshare247_field_select" id="wpshare247_field" class="postbox">
            <option value="">Công ty Dịch vụ TBAY có bao nhiêu Website nào?</option>
            <option <?php selected( $wpshare247_field_select_val, 'tbay.vn' ); ?> value="tbay.vn">tbay.vn</option>
            <option <?php selected( $wpshare247_field_select_val, 'website366.com' ); ?> value="website366.com">website366.com</option>
            <option <?php selected( $wpshare247_field_select_val, 'wpshare247.com' ); ?> value="wpshare247.com">wpshare247.com</option>
            <option <?php selected( $wpshare247_field_select_val, 'raotin247.com' ); ?> value="raotin247.com">raotin247.com</option>
        </select>
    </div>
    
    <!-- Kiểu Text -->
    <?php $wpshare247_field_text_val = get_post_meta($post->ID, 'wpshare247_field_text', true ); ?>
    <div class="wpshare247-group-item">
    	<div><label for="wpshare247_field"><strong>Công ty Dịch vụ TBAY có đào tạo Lập trình Web WordPress hay không?</strong></label></div>
        <input style="width:100%" name="wpshare247_field_text" type="text" value="<?php echo $wpshare247_field_text_val;?>" placeholder="Công ty Dịch vụ TBAY có đào tạo Lập trình Web WordPress" />
    </div>
    
    <!-- Bạn cũng có thể khai báo thêm các kiểu khác như: Textarea, checkbox, radio.... -->
    <?php
}

//Step 3
function wpshare247_save_postdata( $post_id ) {
    //Lưu trường số 1
    if ( array_key_exists( 'wpshare247_field_select', $_POST ) ) {
        update_post_meta(
            $post_id,
            'wpshare247_field_select',
            $_POST['wpshare247_field_select']
        );
    }
    
    //Lưu trường số 2
    if ( array_key_exists( 'wpshare247_field_text', $_POST ) ) {
        update_post_meta(
            $post_id,
            'wpshare247_field_text',
            $_POST['wpshare247_field_text']
        );
    }
}
add_action( 'save_post', 'wpshare247_save_postdata' );

Đến đây đã hoàn thành khai báo Metabox rối đấy. Copy đoạn code trên là vừa đủ dùng còn muốn nâng cao thì xem tiếp các phần tiếp theo.

3. Cách gọi dữ liệu từ các trường Metabox

Trong ví dụ trên tôi khai báo 2 trường có tên là wpshare247_field_select và wpshare247_field_text. Để gọi dữ liệu hiển thị chúng ta có thể gọi trực tiếp trong Template hoặc có thể gọi trong functions.php nếu cần thiết nếu chúng ta có $post_id

Gọi từ template: header.php, footer.php…

<?php
$wpshare247_field_select_val = get_post_meta( get_the_ID(), 'wpshare247_field_select', true );
echo '<br/>Giá trị của tôi là: ' . $wpshare247_field_select_val;

$wpshare247_field_text = get_post_meta( get_the_ID(), 'wpshare247_field_text', true );
echo '<br/>Giá trị của tôi là: ' . $wpshare247_field_text;

4. Cấu hình nâng cao

4.1 Vị trí xuất hiện của Metabox custom

Trước khi tùy chỉnh thông số này, mình xin giải thích tí tẹo về vị trí chỗ này.

Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

Quay trở lại biến $context khai báo ở trên. Nếu bạn muốn vị trí Metabox nằm phên phải khu vực Side, bạn cần khai báo như sau: $context = 'side';

4.2 Thứ tự xuất hiện của Metabox

Để hiểu rõ hơn phần thứ tự bạn vui lòng xem qua hình minh họa nhé. Mỗi khu vực mục 4.1 đều có các thứ tự như sau: high -> default -> low

Hướng dẫn cách tạo Custom MetaBox cực dễ trong WordPress

Lúc này bạn cần thay đổi giá trị $priority như sau:

//Sử dụng 1 trong 3 giá trị như sau:
$priority = 'low';
$priority = 'high';
$priority = 'default';

Như vậy tôi vừa giới thiệu chi tiết các bước tạo một MetaBox trong WordPress, có phải quá dễ hiểu không? Nếu chưa hiểu thị có thể liên hệ kiếm tôi nhé. Tôi trang trốn trong nhóm Zalo bên góc phải màn hình đấy.

Xin chào và hẹn gặp lại ở những bài tiếp theo !!!!

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

❓ Hỏi AI về nội dung bài viết

Tóm tắt nội dung chính Gợi ý mục quan trọng Giải thích mục 1 rõ hơn Viết lại đoạn văn cho dễ hiểu Rút gọn văn bản mà vẫn đủ ý Thêm ví dụ minh hoạ cho đoạn 1 Lọc keyword từ khóa bài viết Lọc thuật ngữ Dịch bài viết sang: Tiếng Anh
Nếu bài viết chưa giải đáp hết thắc mắc của bạn, hãy hỏi WPSHARE247 AI – trợ lý thông minh sẵn sàng hỗ trợ ngay trong nội dung bài viết.

Bạn muốn tích hợp chức năng Hỏi AI trực tiếp dưới mỗi bài viết trên website? Hãy liên hệ dịch vụ thiết kế web tại Website366.com để được hỗ trợ triển khai nhanh chóng và chuyên nghiệp.

Shares
ChatGPT ChatGPT
Share
Share
Pin
← Bài cũ hơn → Bài tiếp theo
MetaBox
Bài viết liên quan
  • Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

    Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

  • Thử kết nối API trong WordPress cho người mới học code (cập nhật 2025)

    Thử kết nối API trong WordPress cho người mới học code (cập nhật 2025)

  • Tài liệu Hướng Dẫn Upload File Lên WordPress Bằng Ajax Dành Cho Người Mới

    Tài liệu Hướng Dẫn Upload File Lên WordPress Bằng Ajax Dành Cho Người Mới

  • Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

    Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

Học thiết kế Web WordPress

Download WordPress

Tải bản WordPress mới nhất

Tiếng Việt: Tải WordPress Mới

Quốc tế: Tải WordPress Mới

Liên kế MXH của WPShare247

Tìm thấy những kiến thức mới từ WPShare247

Giảm 50% Hosting

Xem chi tiết giảm giá 50% gói lưu trự Hosting tại đây => Link giảm 50%

Cách tạo Web bán hàng Bằng Flatsome

https://www.youtube.com/watch?v=gnT8Dn_KiXU

Video Tiktok mới nhất

@hocwordpress SSL bằng Plug-in Wordpress Really Simple SSL giúp bảo mật đúng cách hơn, tránh tình trạng bảo mật ảo HTTPS #wpshare247 #wordpress #plugin #ssl #https ♬ nhạc nền - Học WordPress - WPSHARE247.COM

Cách tạo Website WordPress 2025

https://www.youtube.com/watch?v=HtbtsH8q-KU

Bộ WIDGETS WS247 Đa Năng

Giúp bạn Thiết kế Website WordPress giống mẫu 99% trong thời gian ngắn nhất (Có bản nâng cấp mới V2). Download tại đây

 

Xem chi tiết tại đây  https://wpshare247.com/chia-se-bo-field-widget-giup-ban-thiet-ke-website-wordpress-nhanh-hon

MUA HOSTING – TẶNG BUỔI HỌC WP

Tặng 03 buổi (Mỗi buổi 30 phút) hỗ trợ miễn phí, tất cả các chuyên đề nào về học thiết kế website bằng WordPress khi mua Hosting và Tên miền => tại đây [ Có thể liên hệ bất cứ giờ nào để hỗ trợ học WP ]

Tôi đang cần...
Cách làm blog Plugin Wordpress Bảo mật Wordpress Seo với Wordpress Lỗi Wordpress WooCommerce

MUA HOSTING – TẶNG BUỔI HỌC WP

Chủ đề

  • Code WordPress
  • Hàm WordPress
  • Hướng dẫn WordPress
  • Theme wordpress
  • WooCommerce
  • Seo WordPress
  • Html & Css
  • Javascript và jQuery
  • Plugin WordPress
  • Hướng dẫn lập trình

Tag

add_action (2) add_filter (2) admin code (2) alt (2) Block Theme (2) cart (4) Contact Form 7 (8) css (4) custom post type (2) cài wordpress (2) danh mục sản phẩm (2) elementor (2) elementor free (2) filter (2) flatsome (2) functions.php (2) google font (2) hosting (2) html css (2) hướng dẫn dùng plugin (4) học wordpress (7) javascript (5) jquery (3) localhost (2) Loop (2) mysql (4) ngôn ngữ (2) phpmyadmin (3) plugin (4) plugin wordpress (2) Product (4) SMTP (2) Sản phẩm (3) Template page (2) theme option (2) Theme Wordpress (3) widget (2) woocommerce (25) wordpress (5) WordPress 2025 (2) wp-config (2) wp_enqueue_scripts (2) WP_Query (6) xampp (4) Yoast SEO (2)
Về WPShare247

Học wordpress cho người mới bắt đầu.

WPShare247 là blog chia sẻ các kiến thức về WordPress, sửa chữa lỗi wordpress, giới thiệu theme và plugin wordpress mới nhất. Đào tạo khóa học thiết kế Website bằng WordPress.

Menu
  • Trang chủ
  • Giới thiệu
  • Blog
  • Plugin WordPress
  • Liên hệ
Chủ đề wordpress
  • Sửa lỗi WordPress
  • Plugin WordPress
  • Theme wordpress
  • Seo WordPress
  • WooCommerce

Copyright © 2025 WPSHARE247. All Rights Reserved.
Một sản phẩm của WEB 366

  • Thiết kế web bởi Website366.com
  • Thiết kế website chuyên nghiệp TBAY.VN
  • Thiết kế website bán hàng