Hướng dẫn custom term field trong wordpress

Ngày đăng: 05 - 05 - 2020 Lượt xem: 109 lượt

Bài trước mình đã hướng dẫn cho bạn cách custom taxonomy trong wordpress, để tiếp nối các tính năng liên quan đến taxonomy, hôm nay mình sẽ hướng dẫn cho các bạn cách custom term field trong wordpress.

Vậy term field là gì? Ứng dụng của nó như thế nào? Các tạo custom term field ra sao? Hôm nay chũng ta sẽ đi tìm hiểu nha.

Custom term field trong wordpress là gì?

Mặc định trong wordpress ở mỗi category (danh mục) sẽ có các trường như: Tên, Đường dẫn, mổ tả, danh mục cha… Các trường này người ta gọi là term field.

Custom term field trong wordpress là gì?

Mặc định trong category wordpress chỉ có chừng này trường

Và tất nhiên wordpress cũng cung cấp khả năng tạo thêm 1 field mới ở đây. Khi chúng ta đi tạo một term field mới người ta gọi là custom term field trong wordpress.

Custom term field sẽ áp dụng cho tất cả các taxonomy chứ không riêng gì category nhé.

Tạo custom term field trong wordpress

Ví dụ: Mình muốn custom 1 field để chứa link hình ảnh đại diện cho category, tương ứng với mỗi category sẽ có 1 link.

Các bạn chèn đoạn code sau vào file functions.php của theme đang sử dụng nhé.

Tạo custom term field ở phần thêm mới:

<?php function add_feature_group_field($taxonomy) { ?>
   <div class="form-field term-group">
       <label for="location"><?php _e('Ảnh đại diện'); ?></label>
       <input class="controls" type="text" id="linkcat" name="linkcat"/>
   </div> 
<?php }
add_action( 'category_add_form_fields', 'add_feature_group_field', 10, 1);
function save_category( $term_id, $tt_id ){
    if( isset( $_POST['linkcat'] ) && '' !== $_POST['linkcat'] ){
        add_term_meta( $term_id, 'linkcat', $_POST['linkcat'], true );
    }
}
add_action( 'created_category', 'save_category', 10, 2 );
?>

Giải thích:

  • Hàm add_feature_group_field dùng để hiển thị khu vực nhập link, hàm này sẽ được móc vào action category_add_form_fields, Lưu ý chữ category là tên taxonomy bạn cần muốn custom.
  • Hàm save_category có nhiệm vụ kiểm tra dữ liệu và lưu vào database, hàm này sẽ được móc vào action created_category, Lưu ý chữ category là tên taxonomy cần custom.

Kết quả thu được: 

Đã xuất hiện thêm field Ảnh đại diện

Hiển thị trong khu vực sửa category:

Đoạn code trên chỉ hiển thi khu vực thêm mới một category, còn nều các bạn muốn hiển thị ở khu vực chỉnh sửa category thì dùng thêm đoạn code sau nhé.

<?php
function edit_feature_group_field($taxonomy) { 
    $term_id = $taxonomy->term_id; 
    $linkcat= get_term_meta( $term_id, $key = 'linkcat', true ); 
?>
<tr class="form-field">
    <th valign="top" scope="row">
        <label for="bedroom">Ảnh đại diện</label>
    </th>
    <td>
        <input class="controls" name="linkcat" type="text" id="linkcat" value="<?php echo $linkcat; ?>">
    </td>
</tr>
<?php }
add_action( 'category_edit_form_fields', 'edit_feature_group_field', 10, 1);
function update_category( $term_id, $tt_id ){
    if( isset( $_POST['linkcat'] ) && '' !== $_POST['linkcat'] ){
         update_term_meta( $term_id, 'linkcat', $_POST['linkcat'] );
    }
} 
add_action( 'edited_category', 'update_category', 10, 2 );
?>

Giải thích: 

  • $linkcat = get_term_meta( $term_id, $key = ‘linkcat’, true ); là đoạn code lấy giá trị của link hiện tại.
  • Hàm edit_feature_group_field để hiển thị phần nhập link trong khu vực chỉnh sửa category. Hàm này được móc vào action category_edit_form_fields, Lưu ý chữ category là tên taxonomy
  • Hàm update_category cập nhật dữ liệu vào database, hàm này được móc vào action edited_category, Lưu ý chữ category là tên taxonomy

Tạo custom term field bằng plugin

Cũng như tất cả các chức năng khác trong wordpress, thì custom term field này cũng có hàng tá plugin hỗ trợ. Các plugin thì sẽ rất chuyên nghiệp và các field cũng đa dạng.

Các bạn cân nhắc nếu cần có thể sử dụng một số plugin sau nha:

Mình có share plugin acf pro tại đây bạn nào cần thì download về nha:

Download code "Plugin ACF Pro phiên bản 5.8.9"
Để download code vui lòng thực hiện các bước sau!
Bước 1: Like fan page của học wordpress:
Bước 2: Để lại email, hệ thống sẽ kiểm tra và gởi code về mail trong vòng 10 phút!
Bonus:
Lưu ý: Một số trường hợp mail sẽ gởi vào mục spam. Các bạn vui lòng check kỹ ạ!

Get custom term field ra front end

Để get một term field ra front end chúng ta sử dụng hàm sau:

get_term_meta( $term_id, $key, true )

Ví dụ:

<?php
$args = array(
    'type'      => 'post',
    'number'    => 10,
    'parent'    => 0
);
$categories = get_categories( $args );
foreach ( $categories as $category ) { ?>
     <?php echo get_term_meta( $category->term_id, 'linkcat', true ); ?>
<?php } ?>

Tổng kết:

Như vậy là hôm nay mình đã hướng dẫn cho bạn cách custom term field trong wordpress. Tính năng này được áp dụng rất nhiều ví dụ như tạo ảnh đại diện cho chuyên mục…

Hy vong với chút kiến thức này sẽ giúp các bạn học tốt lập trình theme wordpress

Chào các bạn hẹn gặp lại ở các bài sau

0 0 vote
Article Rating

guest
0 Comments
Inline Feedbacks
View all comments

Bài viết liên quan

Hướng dẫn tạo menu và get menu trong wordpress

Hướng dẫn tạo menu và get menu trong wordpress

07 - 05 - 2020

Menu trong wordpress là một thành phần khá quan trọng. Hầu hết các website wordpress đều có chức năng...

Hướng dẫn get user và custom user field trong wordpress

Hướng dẫn get user và custom user field trong wordpress

07 - 05 - 2020

Tiếp tục với seri hướng dẫn lập trình theme wordpress, hôm nay mình sẽ hướng dẫn cho các bạn...

Custom taxonomy trong wordpress từ a đến z và get chúng ra front end

Custom taxonomy trong wordpress từ a đến z và get chúng ra front end

04 - 05 - 2020

Chào anh em! Tiếp tục với chủ đề hướng dẫn lập trình theme wordpress hôm nay mình sẽ hướng...

Custom field trong wordpress và các vấn đề liên quan

Custom field trong wordpress và các vấn đề liên quan

29 - 04 - 2020

Tiếp tục với loạt bài viết về hướng dẫn lập trình theme wordpress hôm nay mình sẽ giới thiệu...

Hướng dẫn custom post type trong wordpress từ a đến z

Hướng dẫn custom post type trong wordpress từ a đến z

29 - 04 - 2020

Hôm nay chúng ta sẽ đi tìm hiểu một trong những tính năng biến wordpress trở thành CMS mạnh...

Hướng dẫn get category trong wordpress từ a đến z

Hướng dẫn get category trong wordpress từ a đến z

29 - 04 - 2020

Tiếp tục với chủ đề lập trình theme wordpress, bài viết này mình sẽ hướng dẫn get category trong...

0
Would love your thoughts, please comment.x
()
x