Hướng Dẫn Các Cách Tạo Custom Post Type Trong WordPress

Custom post type là một tính năng rất hữu dụng và mạnh mẽ của WordPress, cho phép bạn tạo thêm các loại bài viết tùy chỉnh ngoài hai loại mặc định là post và page. Với custom post type, bạn có thể mở rộng các loại nội dung trên website một cách dễ dàng mà không cần code nhiều.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách tạo custom post type trong WordPress để có thể áp dụng vào nhiều dự án khác nhau. Bạn sẽ được hướng dẫn các bước cơ bản để đăng ký và sử dụng custom post type bằng cách sử dụng code hoặc các plugin hỗ trợ. Ngoài ra, bài viết cũng chia sẻ một số lưu ý quan trọng giúp việc làm việc với custom post type được thuận lợi và hiệu quả hơn.

1. Giới thiệu về Custom Post Type

Custom Post Type (CPT) là một tính năng rất mạnh mẽ của WordPress, cho phép người dùng tạo ra các loại bài viết tùy chỉnh bên cạnh hai loại mặc định là bài viết (post) và trang (page).

Về cơ bản, CPT giúp mở rộng các loại nội dung có thể quản lý trên WordPress, thay vì giới hạn ở bài viết và trang. Bằng cách sử dụng CPT, bạn có thể tạo ra các loại bài viết hoàn toàn mới, đi kèm với giao diện quản trị, URL, template và cách thức hiển thị riêng biệt. Một số đặc điểm chính của Custom Post Type bao gồm:

  • Cho phép tạo nhiều loại bài viết khác nhau trong WordPress.
  • Mỗi loại CPT có thể có cấu trúc dữ liệu, template và URL riêng biệt.
  • Dễ dàng tùy chỉnh giao diện quản trị cho từng CPT.
  • Hỗ trợ phân loại nội dung bằng taxonomy như thẻ, danh mục.
  • Tích hợp mượt mà với REST API của WordPress.
  • Giúp phân chia các loại nội dung một cách rõ ràng, dễ quản lý.

Như vậy, với Custom Post Type bạn có thể dễ dàng mở rộng các chức năng của WordPress mà không cần phải code quá nhiều. Thông qua CPT, WordPress trở nên linh hoạt hơn để xây dựng các ứng dụng web đa dạng.

Giới thiệu về Custom Post Type
Giới thiệu về Custom Post Type

2. Các loại Custom Post Type phổ biến nhất

CPT có thể được sử dụng để lưu trữ rất nhiều loại nội dung khác nhau. Dưới đây là một số loại CPT phổ biến:

Sản phẩm (product)

Dùng cho các website thương mại điện tử, bán hàng online. Mỗi sản phẩm sẽ là một CPT riêng biệt, cho phép lưu các thông tin chi tiết của sản phẩm.

  • Dễ dàng quản lý và phân loại sản phẩm.
  • Tùy chỉnh trang chi tiết sản phẩm với nhiều thông tin hơn.
  • Tối ưu SEO với URL sản phẩm rõ ràng.

Dự án (portfolio)

Để giới thiệu các dự án, công trình đã hoàn thành. Mỗi dự án là một CPT riêng biệt.

  • Dễ dàng phân loại dự án theo danh mục, thẻ, thuộc tính.
  • Trang dự án có thể hiển thị nhiều thông tin chi tiết, hình ảnh đẹp mắt.
  • Cho phép hiển thị các dự án dưới dạng gallery, portfolio.

Thư viện ảnh/video

Cho phép tạo từng ảnh/video là một CPT riêng lẻ. Ưu điểm:

  • Dễ dàng quản lý và phân loại media.
  • Mỗi ảnh/video có thể gắn các thông tin chi tiết như mô tả, tác giả.
  • Tối ưu trải nghiệm người dùng khi xem thư viện.

Nhân viên (team)

Dùng để giới thiệu các thành viên trong nhóm, công ty. Ưu điểm:

  • Dễ dàng quản lý thông tin các nhân viên.
  • Trang nhân viên có thể chứa nhiều thông tin chi tiết.
  • Phân loại nhân viên theo bộ phận, vị trí dễ dàng.

Sự kiện (event)

Giúp tạo các trang giới thiệu cho từng sự kiện riêng lẻ. Ưu điểm:

  • Quản lý dễ dàng các sự kiện sắp tới.
  • Trang sự kiện có thể chứa thông tin chi tiết, hình ảnh.
  • Cho phép RSVP sự kiện, bán vé online.

3. Tại sao nên sử dụng Custom Post Type?

Vậy tại sao nên sử dụng Custom Post Type thay vì các loại nội dung mặc định có sẵn trong WordPress? Dưới đây là một số lý do chính.

Tổ chức nội dung một cách logic

Một lợi ích lớn nhất của CPT là giúp nhóm các nội dung có chung đặc tính vào cùng một nơi. Thay vì lẫn lộn giữa các bài post và page, sử dụng CPT sẽ chia các nội dung theo từng nhóm riêng biệt. Ví dụ điển hình là sử dụng CPT để lưu trữ các sản phẩm trong website thương mại điện tử, thay vì lưu sản phẩm cùng với các bài viết khác.

Dễ dàng tùy chỉnh

So với Post/Page, CPT cho phép custom nhiều tính năng hơn để phù hợp với nội dung. Ví dụ như tùy chỉnh lại giao diện trang quản trị, định dạng URL, template… Bạn có thể dễ dàng thiết lập giao diện quản trị phù hợp cho từng loại nội dung mà không cần code phức tạp. Điều này rất hữu ích cho các website phức tạp.

Tối ưu trang chi tiết nội dung

Với CPT, bạn có thể thiết kế trang chi tiết để hiển thị nội dung một cách trực quan và sinh động hơn. Chẳng hạn như trang sản phẩm có thể chứa nhiều hình ảnh, mô tả chi tiết, bảng thông số kỹ thuật. Hay trang dự án portfolio có thể có slider ảnh đẹp mắt phía trên. Điều này rất khó thực hiện nếu chỉ dùng Post hoặc Page.

Tối ưu SEO

URL của CPT có thể customize dễ dàng để tối ưu SEO, ví dụ:yourdomain.com/san-pham/ten-san-pham

Thay vì URL mặc định của Post:yourdomain.com/danh-muc/ten-bai-viet

URL của CPT rõ ràng và dễ tiếp cận hơn đối với người dùng và công cụ tìm kiếm.

Dễ dàng quản lý nhiều loại nội dung

Thay vì cố gắng nhồi nhét tất cả dữ liệu vào Post/Page, sử dụng CPT sẽ giúp bạn dễ dàng phân chia và quản lý các loại nội dung. Mỗi CPT được quản lý độc lập, do đó bạn có thể custom riêng biệt cho phù hợp mà không sợ ảnh hưởng lẫn nhau. Việc tìm kiếm và lọc nội dung cũng trở nên dễ dàng hơn.

Tại sao nên sử dụng Custom Post Type
Tại sao nên sử dụng Custom Post Type

4. Các tham số khi đăng ký Custom Post Type

Để đăng ký một Custom Post Type mới, bạn cần sử dụng hàm register_post_type() trong PHP. Hàm này nhận vào một mảng các tham số để cấu hình cho CPT. Dưới đây là một số tham số quan trọng cần lưu ý:

Các tham số cơ bản

  • post_type: Tên của post type. Đây là tham số bắt buộc.
  • label: Nhãn dùng để hiển thị cho người dùng. Bao gồm các nhãn như name, singular_name, menu_name…
  • description: Mô tả ngắn giới thiệu về post type.
  • public: Quy định post type có được hiển thị công khai không. Mặc định là false.
  • hierarchical: Cho phép CPT có cấu trúc dạng cây như page. Mặc định false.
  • menu_position: Vị trí hiển thị CPT trong menu admin.
  • capability_type: Quyền truy cập vào CPT.
  • map_meta_cap: Ánh xạ quyền với một đối tượng có sẵn.

Các tham số nâng cao

  • supports: Các tính năng hỗ trợ cho CPT: title, editor, comments, thumbnail…
  • register_meta_box_cb: Callback để đăng ký custom meta box.
  • taxonomies: Các taxonomy được phép sử dụng với CPT.
  • has_archive: Cho phép truy cập tới archive của CPT.
  • rewrite: Tùy chỉnh định dạng URL cho CPT.
  • show_in_rest: Cho phép CPT được truy cập qua REST API.

Còn rất nhiều tham số khác giúp cấu hình chi tiết cho CPT. Bạn có thể xem thêm trong codex của WordPress.

5. Cách tạo Custom Post Type trong WordPress

Có 2 cách để tạo Custom Post Type trong WordPress mà bạn có thể tham khảo và áp dụng theo đó là:

Tạo Custom Post Type bằng Code

Sử dụng hàm register_post_type() trong functions.php hoặc plugin. Ví dụ mã PHP đăng ký CPT:

function create_post_type() {

  register_post_type( 'san_pham',
    array(
      'labels' => array(
        'name' => __( 'Sản Phẩm' ),
        'singular_name' => __( 'Sản Phẩm' )
      ),
      'public' => true,
      'has_archive' => true,
      'supports' => array('title', 'editor', 'thumbnail'),	
      'rewrite' => array('slug' => 'san-pham'),
    )
  );
}

add_action( 'init', 'create_post_type' );

Tạo Custom Post Type bằng Plugin

Cách đơn giản và nhanh chóng nhất để tạo CPT là sử dụng các plugin hỗ trợ. Một số plugin phổ biến:

Custom Post Type UI

Đây là plugin mạnh mẽ nhất để tạo và quản lý CPT với giao diện trực quan, không cần code. Các bước sử dụng CPT UI:

  • Cài đặt và kích hoạt plugin
  • Vào menu CPT UI để thiết lập các tham số cho CPT
  • Nhấn Đăng ký để hoàn tất việc tạo CPT
  • Quản lý và thêm nội dung cho CPT như bình thường

Toolset Types

Toolset Types là addon mạnh mẽ của Visual Composer dành cho CPT. Nó cho phép xây dựng các trường và form tùy chỉnh đi kèm với CPT.

Simple Custom Post Type

Đơn giản và dễ sử dụng để tạo CPT cơ bản. Chỉ cần nhập các thông tin và plugin sẽ sinh mã PHP tự động.

6. Một số lưu ý khi tạo Custom Post Type trong WordPress

Để quá trình tạo Custom Post Type trong WordPress diễn ra nhanh chóng và không gặp phải bất kỳ sự cố ngoài ý muốn nào thì bạn cần lưu ý một số điều quan trọng sau đây:

  • Tránh đặt tên trùng với các từ khóa có sẵn của WordPress.
  • Kiểm tra lại cấu hình permalink sau khi tạo CPT mới.
  • Cấp quyền truy cập vào CPT cho các vai trò người dùng phù hợp.
  • Tạo template riêng cho CPT nếu muốn hiển thị khác với post.
  • Sử dụng các plugin hỗ trợ để dễ dàng quản lý và tùy chỉnh CPT.
  • Lưu ý tính tương thích khi dùng CPT với các theme và plugin khác.

7. Kết luận về cách tạo Custom Post Type trong WordPress

Custom Post Type là một tính năng rất hữu ích và mạnh mẽ của WordPress. Nó giúp mở rộng các khả năng quản lý nội dung, đáp ứng được nhiều nhu cầu đặc biệt của các website. Tuy nhiên, việc sử dụng CPT cũng cần có sự cân nhắc và lập kế hoạch cẩn thận để tránh các vấn đề phát sinh. Hy vọng bài viết của Plugin.com.vn – Địa chỉ mua bán plugins uy tín đã cung cấp những thông tin hữu ích về tạo Custom Post Type trong WordPress để bạn có thể sử dụng công cụ một cách hiệu quả nhất cho WordPress.

Cập nhật lúc: 10:32:59 - 07/11/2024