Trong WordPress, các loại nội dung mặc định như bài viết (Post) và trang (Page) giúp người dùng quản lý nội dung dễ dàng. Tuy nhiên, nếu bạn muốn tạo ra các loại nội dung đặc thù hơn như dự án, sản phẩm, sự kiện, hay nhân viên, thì Custom Post Type (CPT) chính là công cụ mạnh mẽ mà bạn cần.
Bài viết này sẽ hướng dẫn bạn chi tiết cách tạo Custom Post Type trong WordPress, từ việc tạo thủ công qua code cho đến sử dụng plugin.
1. Custom Post Type Là Gì?
Custom Post Type (CPT) là một loại nội dung riêng biệt, không phải là các loại nội dung mặc định của WordPress. CPT cho phép bạn tạo ra các cấu trúc nội dung tùy chỉnh, phù hợp với nhu cầu cụ thể của bạn mà không bị giới hạn bởi các loại nội dung có sẵn.
Ví dụ về CPT:
Portfolio: Để trình bày các dự án đã hoàn thành.
Products: Để giới thiệu sản phẩm của bạn.
Testimonials: Để hiển thị phản hồi của khách hàng.
2. Tạo Custom Post Type Thủ Công Bằng Cách Viết Code
Nếu bạn quen thuộc với việc chỉnh sửa file trong WordPress, bạn có thể tạo CPT bằng cách thêm một đoạn mã vào file functions.php
của theme. Dưới đây là các bước thực hiện:
Bước 1: Mở file functions.php
Mở file functions.php
của theme bạn đang sử dụng. Bạn có thể tìm file này trong thư mục /wp-content/themes/your-theme/functions.php
.
Bước 2: Thêm đoạn mã tạo CPT
Thêm đoạn mã sau vào file functions.php
:
function create_custom_post_type() {
$labels = array(
'name' => _x('Projects', 'post type general name', 'textdomain'),
'singular_name' => _x('Project', 'post type singular name', 'textdomain'),
'menu_name' => _x('Projects', 'admin menu', 'textdomain'),
'name_admin_bar' => _x('Project', 'add new on admin bar', 'textdomain'),
'add_new' => _x('Add New', 'project', 'textdomain'),
'add_new_item' => __('Add New Project', 'textdomain'),
'new_item' => __('New Project', 'textdomain'),
'edit_item' => __('Edit Project', 'textdomain'),
'view_item' => __('View Project', 'textdomain'),
'all_items' => __('All Projects', 'textdomain'),
'search_items' => __('Search Projects', 'textdomain'),
'parent_item_colon' => __('Parent Projects:', 'textdomain'),
'not_found' => __('No projects found.', 'textdomain'),
'not_found_in_trash' => __('No projects found in Trash.', 'textdomain')
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'project'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments')
);
register_post_type('project', $args);
}
add_action('init', 'create_custom_post_type');
Giải thích:
name: Tên của CPT trong admin dashboard.
singular_name: Tên số ít của CPT.
menu_name: Tên hiển thị trong menu quản trị.
rewrite: Cấu hình đường dẫn URL (slug).
supports: Các tính năng hỗ trợ như tiêu đề, nội dung, ảnh đại diện.
Bước 3: Lưu và Kiểm Tra
Sau khi lưu file, hãy quay lại WordPress admin và bạn sẽ thấy mục mới xuất hiện trong menu, đó chính là Custom Post Type bạn vừa tạo.
3. Tạo Custom Post Type Bằng Plugin
Nếu bạn không muốn can thiệp vào mã nguồn hoặc không quen với việc chỉnh sửa file, bạn có thể sử dụng plugin để tạo CPT. Một số plugin phổ biến bao gồm:
3.1. Sử dụng Plugin Custom Post Type UI
Bước 1: Cài đặt và kích hoạt plugin Custom Post Type UI.
Bước 2: Sau khi kích hoạt, truy cập CPT UI > Add/Edit Post Types
.
Bước 3: Điền các thông tin cần thiết như:
Post Type Slug: Tên định danh duy nhất (ví dụ: project
).
Plural Label: Tên số nhiều (ví dụ: Projects
).
Singular Label: Tên số ít (ví dụ: Project
).
Bước 4: Cấu hình các tùy chọn khác như hiển thị trên admin menu, hỗ trợ các tính năng (editor, thumbnail, etc.).
Bước 5: Lưu lại và kiểm tra trong admin menu.
3.2. Sử dụng Plugin Toolset Types
Plugin Toolset Types là một công cụ mạnh mẽ khác để tạo CPT, tuy nhiên, nó có phần phức tạp hơn và thường được sử dụng cho các dự án lớn hơn.
4. Tùy Biến CPT với Custom Fields
CPT sẽ trở nên mạnh mẽ hơn khi bạn kết hợp với các Custom Fields để thêm các thông tin chi tiết cho mỗi loại nội dung. Bạn có thể sử dụng plugin Advanced Custom Fields (ACF) để tạo các trường tùy chỉnh dễ dàng.
5. Hiển Thị Custom Post Type trên Website
Sau khi tạo CPT, bạn cần hiển thị nó trên trang web của mình. Dưới đây là một vài cách để làm điều này:
5.1. Sử Dụng Template File
Bạn có thể tạo một file template riêng cho CPT trong theme của mình. Ví dụ: nếu bạn tạo CPT project
, bạn có thể tạo file single-project.php
và archive-project.php
trong thư mục theme để quản lý hiển thị CPT này.
5.2. Sử Dụng Shortcode
Nếu không muốn can thiệp vào template, bạn có thể sử dụng shortcode để hiển thị CPT ở bất kỳ đâu trong trang web của mình.
Kết Luận
Việc tạo Custom Post Type giúp bạn mở rộng khả năng quản lý nội dung của WordPress, biến nó trở thành một CMS mạnh mẽ và linh hoạt hơn. Dù bạn chọn phương pháp viết mã thủ công hay sử dụng plugin, việc tạo CPT là một bước quan trọng trong việc tùy chỉnh trang web WordPress theo nhu cầu riêng biệt của bạn. Hãy thử và khám phá những khả năng mới mà CPT mang lại cho dự án của bạn!
Kết nối với web designer Lê Thành Nam