NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
01/03/2023
Lượt xem

Hướng dẫn tạo Custom Post Type WordPress chi tiết

01/03/2023
9 phút đọc
Lượt xem

Đánh giá

5/5 - (144 bình chọn)

Với Custom Post Type, người dùng có thể tạo ra loại bài đăng mới phù hợp với định hướng phát triển của website, chẳng hạn như những bài đăng về dự án, dịch vụ, sản phẩm hoặc nhiều hơn thế nữa. Trong bài viết hôm nay Vietnix sẽ hướng dẫn bạn cách tạo Custom Post Type WordPress nhanh chóng và chi tiết. Cùng theo dõi nhé.

Custom Post Type WordPress là gì?

Custom Post Type WordPress hiểu đơn giản là một bài viết được tùy chỉnh nội dung khác với 2 loại Page và Post. Hiện nay, mặc định tại WordPress người dùng sẽ được cung cấp 2 kiểu post type là Page và Post để xuất bản nội dung. Trong trường hợp bạn cần sử dụng nhiều hơn, chẳng hạn như post type phục vụ cho việc đăng sản phẩm thì nhất định bạn sẽ phải tạo lên một post type mới cho riêng mình. Post type vừa được tạo ra chính là Custom Post Type.

tạo Custom Post Type WordPress là gì?
Custom Post Type là gì?

Custom Post Type sẽ bao gồm đầy đủ những thành phần tương tự như 2 post type mặc định như: category, custom field, featured image hoặc tag,… Đồng thời, bạn cũng được phép hiển thị chúng ra bên ngoài trang chủ cùng một lúc với Post.

Hướng dẫn tạo Custom Post Type WordPress

Trên thực tế, việc tạo Custom Post Type thông qua phương pháp gõ code thủ công hiện nay rất ít người áp dụng. Cho nên bạn không nhất thiết phải ghi nhớ hết những tham số trong quá trình tạo. Tuy nhiên việc tham khảo nội dung dưới đây sẽ giúp bạn hiểu rõ hơn quy trình để tạo ra một Custom Post Type và hữu ích rất nhiều khi làm việc về sau.

Cách thực hiện cũng tương tự như với những code tạo widget hoặc tạo shortcode. Bạn sẽ viết vào file functions.php của themeplugin cấu trúc code sau để tạo một Custom Post Type:

function tao_custom_post_type() {

	/*
	 * Biến $args là những tham số quan trọng trong Post Type
	 */
	$args = array(
           //Tham số cấu hình cho custom post type
	);

	register_post_type( ‘slug-post-type’ , $args );	//Cái slug-post-type rất quan trọng, bạn có thể đặt tùy ý nhưng không có dấu cách, ký tự,…

}

add_action( ‘init’, ‘tao_custom_post_type’ );

Rất đơn giản, trước tiên bạn cần có một hàm riêng để tạo một Custom Post Type và thức hiện kích hoạt hàm đó vào action hook init là hoàn thành.

Tại hàm tao_custom_post_type() sẽ có một hàm register_post_type() để thực hiện khởi tạo Custom Post Type với những tham số mà bạn khai báo tại biến $args. Như vậy là hoàn tất.

Bên trên là cấu trúc, điều quan trọng nhất là bạn sẽ khai báo những gì trong đó. Hoặc có thể tham khảo những tham số tại register_post_type – WordPress Codex.

Giải thích các tham số của code tạo Custom Post Type WordPress

Với các tham số dạng optional bạn có thể bỏ qua. Tuy nhiên, để khai báo những tham số cần thiết nhất bạn hãy tham khảo ngay sau đây.

Trường hợp bạn cần tạo một Custom Post Type phục vụ việc đăng sản phẩm thì code sẽ như sau:

function tao_custom_post_type()
{

    /*
     * Biến $label để chứa các text liên quan đến tên hiển thị của Post Type trong Admin
     */
    $label = array(
        ‘name’ => ‘Các sản phẩm’, //Tên post type dạng số nhiều
        ‘singular_name’ => ‘Sản phẩm’ //Tên post type dạng số ít
    );

    /*
     * Biến $args là những tham số quan trọng trong Post Type
     */
    $args = array(
        ‘labels’ => $label, //Gọi các label trong biến $label ở trên
        ‘description’ => ‘Post type đăng sản phẩm’, //Mô tả của post type
        ‘supports’ => array(
            ‘title’,
            ‘editor’,
            ‘excerpt’,
            ‘author’,
            ‘thumbnail’,
            ‘comments’,
            ‘trackbacks’,
            ‘revisions’,
            ‘custom-fields’
        ), //Các tính năng được hỗ trợ trong post type
        ‘taxonomies’ => array( ‘category’, ‘post_tag’ ), //Các taxonomy được phép sử dụng để phân loại nội dung
        ‘hierarchical’ => false, //Cho phép phân cấp, nếu là false thì post type này giống như Post, true thì giống như Page
        ‘public’ => true, //Kích hoạt post type
        ‘show_ui’ => true, //Hiển thị khung quản trị như Post/Page
        ‘show_in_menu’ => true, //Hiển thị trên Admin Menu (tay trái)
        ‘show_in_nav_menus’ => true, //Hiển thị trong Appearance -> Menus
        ‘show_in_admin_bar’ => true, //Hiển thị trên thanh Admin bar màu đen.
        ‘menu_position’ => 5, //Thứ tự vị trí hiển thị trong menu (tay trái)
        ‘menu_icon’ => ”, //Đường dẫn tới icon sẽ hiển thị
        ‘can_export’ => true, //Có thể export nội dung bằng Tools -> Export
        ‘has_archive’ => true, //Cho phép lưu trữ (month, date, year)
        ‘exclude_from_search’ => false, //Loại bỏ khỏi kết quả tìm kiếm
        ‘publicly_queryable’ => true, //Hiển thị các tham số trong query, phải đặt true
        ‘capability_type’ => ‘post’ //
    );

    register_post_type(‘sanpham’, $args); //Tạo post type với slug tên là sanpham và các tham số trong biến $args ở trên

}
/* Kích hoạt hàm tạo custom post type */
add_action(‘init’, ‘tao_custom_post_type’);

Chi tiết ý nghĩa của các tham số đã được giải thích kèm theo trong đoạn code mẫu trên. Bạn có thể xem xét để lựa chọn tham số cho phù hợp với mục đích tạo post type của mình.

Cách để Custom Post Type hiện ra trang chủ

Theo mặc định của WordPress, nếu tại trang chủ của bạn đang hiển thị những post mới nhất thì đó là dữ liệu từ Post chứ không phải từ Custom Post Type. Để bài viết từ Custom Post Type xuất hiện trên trang chủ thì bạn hãy chèn dòng sau vào functions.php:

add_filter(‘pre_get_posts’,’lay_custom_post_type’);
function lay_custom_post_type($query) {
  if (is_home() && $query->is_main_query ())
    $query->set (‘post_type’, array (‘post’,’sanpham’));
    return $query;
}

Lưu ý, đến đây bạn nhớ chuyển sanpham sang tên slug của Custom Post Type bạn vừa tạo ra.

Hiển thị nội dung Custom Post Type như thế nào

Dựa trên cấu trúc của theme, thì mặc định Custom Post Type sẽ được hiển thị dựa trên code của file single.php. Trường hợp, bạn cần nó hiển thị theo cách khác thì hãy thực hiện tạo một file mới có tên single-{slug-post-type}.php.

Dựa theo ví dụ này thì bạn sẽ tạo một file có tên là single-sanpham.php để hiển thị nội dung cho Custom Post Type. Hoặc để nhanh hơn bạn hãy sao chép tất cả code tại file single.php sang file mới tạo sau đó sửa lại.

Ngoài ra, bạn cũng có thể hiển thị danh sách các bài trong Custom Post Type ra ngoài thông qua Loop & Query. Để áp dụng cách này bạn chỉ cần bổ sung khai báo cho tham số post_type vào là xong. Ví dụ như:

$new_query = new WP_Query( ‘post_type=sanpham’ );

Một số công cụ tạo Custom Post Type WordPress khác

Như đã phân tích ở trước, thực tế hiện nay việc tạo Custom Post Type thông qua từng dòng code khá là hiếm. Thay vào đó người ta sẽ dùng những công cụ khác tối ưu hơn. Sau đây là 2 công cụ mà bạn có thể tham khảo:

Custom Post Type Generator: Với công cụ này bạn có thể tạo một Custom Post Type rất dễ dàng bằng những tùy chọn có sẵn và sao chép tất cả code về file functions.php. Hoặc làm một plugin riêng là xong.

Custom Post Type Generator
Custom Post Type Generator

Custom Post Type UI: Đây là một plugin cho phép người dùng tạo Custom Post Type miễn phí, trực tiếp tại WP-Admin.

Lời kết

Trên đây là những nội dung liên quan đến việc tạo Custom Post Type tại WordPress mà Vietnix đã tổng hợp và giới thiệu đến bạn. Trong quá trình thực hiện và làm theo hướng dẫn nếu có vấn đề cần giải đáp bạn có thể để lại bình luận bên dưới để mọi người lưu ý và hỗ trợ giúp bạn. Đừng quên tiếp tục theo dõi những bài viết tiếp theo của Vietnix để cập nhật những mẹo hữu ích khi sử dụng WordPress nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Lê Nam

WordPress Expert
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG