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

Lượt xem
Nguyễn Thanh Trường
Home

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.

Chương trình khuyến mãi Mua Hosting Rinh Tên Miền

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.

Bên cạnh đó thì còn rất nhiều theme và plugin khác cũng hỗ trợ tính năng này. Nếu bạn chưa sở hữu chúng thì có thể đăng ký dịch vụ hosting, thuê VPS tại Vietnix để được tặng kèm. Cụ thể, nhằm hỗ trợ tối đa cho khách hàng trong quá trình xây dựng thương hiệu, bứt phá doanh thu trên intetnet, Vietnix triển khai chương trình tặng kèm theme và plugin free bản quyền trị giá tới 20.000.000VND/Năm khi đăng ký hosting, VPS bất kỳ.

Trong bộ quà tặng này bao gồm nhiều công cụ hữu ích như WP Rocket, itheme Security Pro, WPML, WP Smush Pro, Rank Math SEO Pro, Elementor Pro, theme + plugin: WP Astra Growth Bundle và MyThemeShop. Liên hệ với đội ngũ Vietnix để nhận được tư vấn chi tiết nhất nhé.

Vietnix với hơn 11 năm hoạt động trong lĩnh vực cung cấp hosting/VPS tốc độ cao, nổi bật với công nghệ chống DDoS độc quyền tại Việt Nam và đã đồng hành với hơn 50.000 khách hàng cá nhân và doanh nghiệp.

cd branding 2
Đến năm 2022 Vietnix vinh dự được nhận giải Thương hiệu Việt Nam xuất sắc.

Đặc biệt với tỷ lệ 97% khách hàng sau khi sử dụng dịch vụ tại Vietnix đã giới thiệu đến bạn bè, đồng nghiệp cũng là một minh chứng cho chất lượng dịch vụ luôn đáp ứng được mọi nhu cầu của khách hàng.

Liên hệ Vietnix để được tư vấn gói dịch vụ phù hợp:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Hotline: 1800 1093.
  • Email: sales@vietnix.com.vn

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é.

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

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

Nguyễn Thanh Trường

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

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Google reCaptcha: Invalid site key.

Bình luận

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