Làm thế nào để tạo Custom Post Types trong WordPress

Thường thì những người nhầm lẫn phân loại WordPress như là một nền tảng viết blog. Trong những năm qua, WordPress đã phát triển thành một hệ thống quản lý nội dung mạnh mẽ. Theo mặc định, WordPress đi kèm với bài đăng và trang dưới dạng các loại nội dung chính. Tuy nhiên, bạn có thể tạo bao nhiêu loại nội dung tuỳ chỉnh theo ý muốn, và các loại nội dung tùy chỉnh này được gọi là Các loại đăng tùy chỉnh . Trong bài này, chúng tôi sẽ chỉ cho bạn cách tạo các kiểu bài đăng tùy chỉnh trong WordPress. Chúng tôi cũng sẽ chỉ cho bạn cách sử dụng chúng như một chuyên gia.

Loại bài đăng Tuỳ chỉnh trong WordPress là gì?

Các loại bài đăng tùy chỉnh là các loại nội dung như bài đăng và trang. Vì WordPress đã phát triển từ một nền tảng viết blog đơn giản thành một CMS mạnh mẽ, thuật ngữ đã bị kẹt lại. Tuy nhiên, loại bài đăng có thể là bất kỳ loại nội dung nào. Theo mặc định, WordPress đi kèm với các loại bài đăng này:

  • Bài đăng
  • Trang
  • Tập tin đính kèm
  • Sửa đổi
  • Menu Nav

Bạn có thể tạo các loại bài đăng tùy chỉnh của riêng mình và gọi cho họ bất cứ điều gì bạn muốn. Ví dụ: nếu bạn chạy một trang web đánh giá phim, thì bạn có thể muốn tạo một loại bài đánh giá phim. Loại bài đăng này có thể có các trường tùy chỉnh khác nhau và thậm chí là cấu trúc danh mục tùy chỉnh của chính nó. Các ví dụ khác về các loại bài đăng là: Danh mục, Chứng thực, Sản phẩm, v.v.

Khi nào tôi cần một loại bài đăng tùy chỉnh?

Kiểm tra bài viết của chúng tôi về thời điểm bạn thực sự cần các loại bài đăng tùy chỉnh hoặc phân loại trong WordPress.

địa điểm

Bạn cũng sẽ nhận thấy rằng chúng tôi đang sử dụng phân loại tùy chỉnh cho họ thay vì các loại hoặc thẻ.

Tạo một loại bài đăng Tùy chỉnh – Cách dễ dàng

Cách dễ nhất để tạo một loại bài đăng tùy chỉnh trong WordPress là sử dụng plugin. Phương pháp này được khuyến khích cho người mới bắt đầu vì nó an toàn và siêu dễ dàng.

Điều đầu tiên bạn cần làm là cài đặt và kích hoạt plugin Custom Post Type UI. Khi kích hoạt, plugin sẽ thêm một mục trình đơn mới trong menu quản trị WordPress được gọi là Giao diện người dùng CPT .

Bây giờ đi đến Giao diện CPT »Thêm Mới để tạo một loại bài đăng tuỳ chỉnh mới.

Tuỳ chỉnh Thêm giao diện người dùng của plugin Thêm giao diện người dùng

Plugin Trình đăng bài Tùy chỉnh Giao diện Người dùng cũng cho phép bạn tạo phân loại tùy chỉnh.

Đây là lý do tại sao trang Thêm bài đăng tuỳ chỉnh mới được chia thành hai cột. Ở bên trái, bạn có biểu mẫu cần điền để tạo loại bài đăng tùy chỉnh. Bên phải, bạn có một biểu mẫu để tạo ra một hệ thống phân loại tùy chỉnh nếu bạn cần.

Trong cột kiểu bài đăng tùy chỉnh, trước tiên bạn cần phải cung cấp tên cho loại bài đăng tùy chỉnh của mình. Tên này không được vượt quá 20 ký tự, ví dụ: phim, công thức, thỏa thuận, bảng thuật ngữ, v.v.

Thêm loại bài đăng tùy chỉnh mới của bạn

Trong trường tiếp theo, bạn cần phải cung cấp nhãn cho loại bài đăng tùy chỉnh của mình. Nhãn này sẽ xuất hiện trong thanh quản trị WordPress của bạn giống như bài đăng và trang. Nó cũng cần phải là số nhiều để có ý nghĩa. ví dụ. Phim, Công thức nấu ăn, Thỏa thuận, Bảng thuật ngữ, v.v.

Sau đó bạn cần cung cấp một mẫu đơn cho nhãn của bạn. Mẫu đơn này sẽ được sử dụng bởi WordPress để hiển thị hướng dẫn và các yếu tố giao diện người dùng khác.

Cuối cùng nhập mô tả cho loại bài đăng tùy chỉnh của bạn. Mô tả này chỉ đơn giản được sử dụng để mô tả loại bài đăng của bạn.

Bây giờ bạn có thể nhấp vào nút ‘Tạo Kiểu Bài đăng Tùy chỉnh’ để thêm loại bài đăng tuỳ chỉnh mới của bạn. Đó là tất cả.

Bạn cũng có thể nhấp vào liên kết Tùy chọn Nhãn Nâng cao và Tuỳ chọn Nâng cao để tuỳ chỉnh nhiều tuỳ chọn hơn cho loại bài đăng tùy chỉnh của bạn.

Tạo một kiểu đăng bài tùy chỉnh bằng tay

Sự cố khi sử dụng plugin là các loại bài đăng tùy chỉnh của bạn sẽ biến mất khi plugin tắt. Bất kỳ dữ liệu nào bạn có trong các loại bài đăng tùy chỉnh này sẽ vẫn ở đó nhưng loại bài đăng tùy chỉnh của bạn sẽ không được đăng ký và sẽ không thể truy cập được từ khu vực quản trị viên.

Nếu bạn đang làm việc trên một trang web khách hàng và không muốn cài đặt một plugin khác thì bạn có thể tự tạo loại bài đăng tùy chỉnh bằng cách thêm mã yêu cầu vào tệp tin functions.php của chủ đề hoặc trong một plugin dành riêng cho trang web (Xem: Custom Post Loại Debate functions.php hoặc Plugin).

Đầu tiên chúng tôi sẽ giới thiệu cho bạn một ví dụ nhanh chóng và đầy đủ để bạn hiểu cách hoạt động của nó. Hãy xem mã này:

// Chức năng kiểu đăng bài của chúng tôi
 hàm create_posttype () {

 register_post_type ('phim',
 // Tùy chọn CPT
 mảng(
 'nhãn' => mảng (
 'tên' => __ ('Phim ảnh'),
 'singular_name' => __ ('Phim')
 ),
 'công khai' => đúng,
 'has_archive' => đúng,
 'rewrite' => mảng ('slug' => 'phim ảnh'),
 )
 );
 }
 / / Hooking lên chức năng của chúng tôi để thiết lập chủ đề
 add_action ('init', 'create_posttype'); 

Những gì mã này không là nó đăng ký một loại bài 'phim' với một mảng các đối số. Những lập luận này là các tùy chọn của loại bài đăng tùy chỉnh của chúng tôi. Mảng này có hai phần, phần đầu tiên là các nhãn, mà chính nó là một mảng. Phần thứ hai chứa các đối số khác như hiển thị công khai, có lưu trữ và sên sẽ được sử dụng trong URL cho loại bài đăng này.

Bây giờ, hãy xem đoạn mã chi tiết cho biết thêm các tùy chọn khác cho loại bài đăng tùy chỉnh của bạn.

/ *
 * Tạo một chức năng để tạo ra CPT của chúng tôi
 * /

 chức năng custom_post_type () {

 / / Thiết lập nhãn giao diện người dùng cho loại bài đăng tùy chỉnh
 $ nhãn = mảng (
 'tên' => _x ('Phim ảnh', 'Post Type General Name', 'twentythirteen'),
 'singular_name' => _x ('Phim', 'Loại chữ cái Tên Đăng bài', 'twentythirteen'),
 'menu_name' => __ ('Phim ảnh', 'twentythirteen'),
 'parent_item_colon' => __ ('Bộ phim dành cho phụ huynh', 'twentythirteen'),
 'all_items' => __ ('Tất cả Phim', 'twentythirteen'),
 'view_item' => __ ('Xem phim', 'twentythirteen'),
 'add_new_item' => __ ('Thêm phim mới', 'twentythirteen'),
 'add_new' => __ ('Thêm mới', 'twentythirteen'),
 'edit_item' => __ ('Chỉnh sửa Phim', 'twentythirteen'),
 'update_item' => __ ('Cập nhật phim', 'twentythirteen'),
 'search_items' => __ ('Tìm kiếm Phim', 'twentythirteen'),
 'not_found' => __ ('Not Found', 'twentythirteen'),
 'not_found_in_trash' => __ ('Không tìm thấy trong Thùng rác', 'twentythirteen'),
 );

 // Đặt các tùy chọn khác cho Custom Post Type

 $ args = mảng (
 'label' => __ ('phim', 'twentythirteen'),
 'description' => __ ('Tin tức và nhận xét về phim', 'twentythirteen'),
 'labels' => $ nhãn,
 // Các tính năng CPT này hỗ trợ trong Trình chỉnh sửa Bài đăng
 '', 'biên tập', 'excerpt', 'tác giả', 'hình thu nhỏ', 'ý kiến', 'bản sửa đổi', 'trường tùy chỉnh',), '
 / / Bạn có thể kết hợp CPT này với một phân loại tư duy hoặc phân loại tùy chỉnh.
 'taxonomies' => mảng ('thể loại'),
 / * CPT theo thứ bậc giống như Trang và có thể có
 * Phụ huynh và trẻ em.  Một CPT không phân cấp
 * cũng giống như bài đăng.
 * /
 'hierarchical' => sai,
 'công khai' => đúng,
 'show_ui' => đúng,
 'show_in_menu' => đúng,
 'show_in_nav_menus' => đúng,
 'show_in_admin_bar' => đúng,
 'menu_position' => 5,
 'can_export' => đúng,
 'has_archive' => đúng,
 'exclude_from_search' => sai,
 'publicly_queryable' => đúng,
 'capability_type' => 'trang',
 );

 // Đăng ký Loại đăng bài Tuỳ chỉnh của bạn
 register_post_type ('movies', $ args);

 }

 / * Hook vào hành động 'init' để các chức năng
 * Chứa đăng ký loại đăng của chúng tôi không
 * Không cần thiết thực hiện.
 * /

 add_action ('init', 'custom_post_type', 0); 

Như bạn thấy, chúng tôi đã thêm nhiều tùy chọn khác vào loại bài đăng tuỳ chỉnh bằng mã của mình. Nó sẽ thêm nhiều tính năng hơn như hỗ trợ cho các phiên bản, hình ảnh đặc trưng, ​​các lĩnh vực tùy chỉnh, vv

Chúng tôi cũng đã liên kết loại bài đăng tùy chỉnh này với phân loại tùy chỉnh được gọi là thể loại. Cũng chú ý đến phần mà chúng ta đã đặt giá trị phân cấp là sai. Nếu bạn muốn loại bài đăng tùy chỉnh của mình hoạt động giống như Trang, thì bạn có thể đặt giá trị này là đúng.

Cũng lưu ý sử dụng lặp đi lặp lại của twentythirdteen, điều này được gọi là miền văn bản. Nếu chủ đề của bạn đã sẵn sàng dịch và bạn muốn dịch các loại bài đăng tùy chỉnh thì bạn sẽ cần phải đề cập đến tên miền văn bản được sử dụng bởi chủ đề của bạn. Bạn có thể tìm thấy miền văn bản chủ đề bên trong style.css tập tin trong thư mục chủ đề của bạn. Tên miền văn bản sẽ được đề cập trong phần đầu của tệp.

Hiển thị các loại bài đăng tùy chỉnh trên trang web của bạn

WordPress đi kèm với được xây dựng trong hỗ trợ hiển thị các loại bài đăng tùy chỉnh của bạn. Khi bạn đã thêm một vài mục vào loại bài đăng tùy chỉnh mới của mình, đây là lúc để hiển thị chúng trên trang web của bạn.

Có một vài phương pháp mà bạn có thể sử dụng, mỗi một có những lợi ích riêng của nó.

Hiển thị loại bài đăng tuỳ chỉnh Sử dụng mẫu lưu trữ mặc định

Đầu tiên bạn chỉ cần đi đến Xuất hiện »Menus và thêm một liên kết tuỳ chỉnh vào trình đơn của bạn. Liên kết tùy chỉnh này là liên kết đến loại bài đăng tùy chỉnh của bạn. Nếu bạn đang sử dụng các liên kết hữu ích SEO thì URL CPT của bạn sẽ có nhiều khả năng là như sau:

http://example.com/movies

Nếu bạn không sử dụng các liên kết thân thiện với SEO, thì URL đăng bài tùy chỉnh của bạn sẽ là một cái gì đó như sau:

http://example.com/?post_type=movies

Thay thế example.com bằng tên miền và phim của riêng bạn bằng tên loại bài đăng tùy chỉnh của bạn. Lưu trình đơn của bạn và sau đó truy cập phần đầu trang của trang web của bạn. Bạn sẽ thấy trình đơn mới mà bạn đã thêm, và khi bạn nhấp vào nó, nó sẽ hiển thị trang lưu trữ kiểu đăng bài tùy chỉnh của bạn bằng cách sử dụng tệp mẫu archive.php trong chủ đề của bạn.

Sử dụng Mẫu Tùy chỉnh cho Lưu trữ CPT và Các Mục Đơn lẻ

Nếu bạn không thích sự xuất hiện của trang lưu trữ cho loại bài đăng tùy chỉnh của mình thì bạn có thể sử dụng mẫu dành riêng cho kho lưu trữ kiểu đăng tuỳ chỉnh. Để làm điều đó bạn chỉ cần tạo một tập tin mới trong thư mục chủ đề và đặt tên nó archive-movies.php . Thay thế phim bằng tên của loại bài đăng tùy chỉnh của bạn.

Để bắt đầu sử dụng, bạn có thể sao chép nội dung của chủ đề archive.php nộp vào archive-movies.php mẫu và sau đó bắt đầu sửa đổi nó để đáp ứng nhu cầu của bạn. Bây giờ bất cứ khi nào trang lưu trữ cho loại bài đăng tùy chỉnh của bạn được truy cập, mẫu này sẽ được sử dụng để hiển thị nó.

Tương tự, bạn cũng có thể tạo một mẫu tùy chỉnh cho màn hình nhập đơn của một loại bài đăng. Để làm điều đó bạn cần phải tạo single-movies.php trong thư mục chủ đề của bạn. Đừng quên thay phim bằng tên của loại bài đăng tùy chỉnh của bạn.

Bạn có thể bắt đầu bằng cách sao chép nội dung chủ đề của bạn single.php mẫu vào single-movies.php mẫu và sau đó bắt đầu sửa đổi nó để đáp ứng nhu cầu của bạn.

Hiển thị các kiểu đăng bài tùy chỉnh trên trang Mặt trận

Một lợi thế của việc sử dụng các loại bài đăng tùy chỉnh là lưu giữ các loại nội dung tuỳ chỉnh của bạn khỏi bài đăng thông thường của bạn. Tuy nhiên, nếu bạn muốn họ hiển thị trong số các bài đăng bình thường, bạn có thể làm điều đó bằng cách thêm mã này vào tệp functions.php của chủ đề hoặc plugin dành riêng cho trang web:

add_action ('pre_get_posts', 'add_my_post_types_to_query');

 hàm add_my_post_types_to_query ($ query) {
 if (is_home () && $ query-> is_main_query ())
 $ query-> set ('post_type', mảng ('bài đăng', 'phim'));
 trả về $ truy vấn;
 } 

Đừng quên thay thế phim với loại bài đăng tùy chỉnh của bạn.

Truy vấn các loại bài đăng tùy chỉnh

Nếu bạn đã quen thuộc với mã hoá và muốn chạy các truy vấn lặp lại trong các mẫu của mình, thì đây là cách thực hiện (Related: Loop là gì?).

Bằng cách truy vấn cơ sở dữ liệu, bạn có thể lấy các mục từ một loại bài đăng tùy chỉnh.

'movies', 'posts_per_page' => 10);
 $ the_query = new WP_Query ($ args);
 ?> have_posts ():?> have_posts (): $ the_query-> the_post ();  ?> 

Trong đoạn mã này, đầu tiên chúng ta đã xác định kiểu đăng bài và các bài viết trên mỗi trang trong các đối số cho lớp WP_Query mới của chúng ta. Sau đó chúng tôi chạy truy vấn của chúng tôi, lấy các bài đăng và hiển thị chúng trong vòng lặp.

Hiển thị các loại bài đăng tùy chỉnh trong Tiện ích

Bạn sẽ nhận thấy rằng có một widget mặc định trong WordPress để hiển thị bài viết gần đây. Nhưng tiện ích này không cho phép bạn chọn loại bài đăng tùy chỉnh. Điều gì sẽ xảy ra nếu bạn muốn hiển thị các mục mới nhất từ ​​loại bài đăng vừa tạo của bạn trong một tiện ích? Có một cách dễ dàng để làm điều này.

Điều đầu tiên bạn cần làm là cài đặt và kích hoạt plugin Ultimate Post Widget. Khi kích hoạt, chỉ cần đi đến Appearance »Widget và kéo và thả widget Ultimate Post vào một thanh bên.

Tiện ích mạnh mẽ này sẽ cho phép bạn hiển thị các bài đăng gần đây từ bất kỳ loại bài đăng nào. Bạn cũng có thể hiển thị trích đoạn bài đăng bằng liên kết đọc thêm hoặc thậm chí hiển thị hình ảnh đặc trưng bên cạnh tiêu đề bài đăng. Định cấu hình tiện ích bằng cách chọn các tùy chọn bạn muốn và bằng cách chọn loại bài đăng tùy chỉnh của bạn. Sau đó lưu thay đổi của bạn và xem tiện ích đang hoạt động trên trang web của bạn.

Các Tuỳ chỉnh Chỉnh sửa Tuỳ chỉnh Tuỳ chỉnh Nâng cao

Có rất nhiều thứ khác mà bạn có thể làm với các loại bài đăng tùy chỉnh của mình. Bạn có thể tìm hiểu để thêm các loại bài đăng tùy chỉnh vào nguồn cấp dữ liệu chính RSS hoặc tạo một nguồn cấp dữ liệu riêng cho từng loại bài đăng tùy chỉnh. Nếu bạn đang sử dụng hệ thống nhận xét Disqus, hãy kiểm tra làm thế nào để vô hiệu Disqus cho các loại bài đăng tùy chỉnh trong WordPress.