WordPress 自定義帖子類型的完整指南
已發表: 2021-04-27WordPress 並不總是關於“帖子”和“頁面”。 有時您需要不同的內容類型,因為並非每個 WordPress 站點都是關於博客的。 您需要能夠將自定義帖子類型添加到您的 WordPress 站點。
如果您有能力使用帖子類型,那麼您可以將您的管理區域變成一個有組織的、令人興奮的、美麗的地方。 最終,您希望您的 WordPress 網站在創建新內容時感到充滿力量。
自定義帖子類型可讓您將博客站點變成更強大的內容管理系統。 因為您可以創建其他內容類型,而不僅僅是帖子和頁面。
因此,今天我們將解決 WordPress 的這一獨特功能,並指導您為您的網站創建自己的自定義帖子。
但首先讓我們了解基礎知識,好嗎?
什麼是 WordPress 中的自定義帖子類型?
帖子類型是在 WordPress 中對不同類型的內容進行分類的方法。
我們假設您已經熟悉兩種最常見的帖子類型:帖子和頁面。 但您可能不知道的是,WordPress 還捆綁了其他一些帖子類型。
默認情況下,WordPress 帶有以下帖子類型:
- 郵政
- 頁
- 依戀
- 修訂
- 導航菜單。
因此,您可以創建自己的自定義帖子類型並隨意調用它們。
例如,如果您經營一個書評網站,那麼您可能想要創建一個書評帖子類型。 這種帖子類型可以有不同的自定義字段,甚至可以有自己的自定義類別結構。
帖子類型的其他示例包括電影、作品集、推薦書、產品等。
因此,如果您想創建自己的作品集,我們建議您借助自定義帖子類型。 否則,您很容易迷路。 創建一個單獨的投資組合帖子類型將允許您的用戶輕鬆瀏覽您的所有工作。
現在,我們將向您展示創建 WordPress 自定義帖子類型的方法。 有兩種類型的方法:
- 創建自定義帖子類型(使用插件)
- 創建自定義帖子類型(手動)
我們將向您展示這兩種方式。
如何使用 WordPress 插件添加自定義帖子類型
那麼,這是您將學習如何使用插件創建自定義帖子類型的部分。 WordPress 的存儲庫中有超過 65k+ 個插件。 並且有許多插件可以幫助您輕鬆地為您的網站創建自定義帖子類型。
其中之一是 WP 用戶前端。 它是周圍最暢銷的會員插件之一,它使創建自定義帖子類型變得非常容易。
安裝插件後,您需要按照這些簡單的步驟來創建自定義帖子類型。 開始了,
第 1 步:創建表單
無需通過WP 用戶前端 > 發布表單 > 添加新的。 創建您的表單。 添加必要的表單域。 保存表格。
第 2 步:設置帖子狀態
創建表單後,您必須通過WP User Frontend > Post Forms進行導航。 通過選擇設置 > 發佈設置 > 發布狀態更新現有表單。
因此,您將能夠在那裡看到各種自定義帖子類型。 選擇您的帖子類型並保存表格。
第 3 步:創建分類法
接下來,您必須返回到表單編輯器,然後在分類部分下,您可以看到自定義分類。
第 4 步:創建頁面
但是,要創建新頁面,請複製表單的簡碼,或編輯現有的簡碼。 粘貼簡碼。
在瀏覽器中查看頁面。 您的自定義帖子類型提交已完成。
如果您想現場觀看,這裡有一段短片供您觀看。 通過它並在幾分鐘內製作您的自定義帖子類型表單。
這就是您可以使用 WordPress 用戶前端插件輕鬆創建 WordPress 自定義帖子類型的方法。
如何手動創建自定義帖子類型
您一定在想為什麼我們要向您展示手動創建自定義帖子類型,而您可以使用 WordPress 插件創建自定義帖子類型。 好吧,使用插件創建 WordPress 自定義帖子類型的問題是當您停用該插件時,您可能會丟失所有數據。
數據可能在插件中,但您的帖子類型將變為未註冊狀態,您將無法從管理區域訪問它。
因此,手動創建自定義帖子是一種很好的做法。 我們將從那裡開始。
看看這段代碼,
// Our custom post type function function create_posttype() { register_post_type( 'movies', // CPT Options array( 'labels' => array( 'name' => __( 'Movies' ), 'singular_name' => __( 'Movie' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'movies'), 'show_in_rest' => true, ) ); } // Hooking up our function to theme setup add_action( 'init', 'create_posttype' );
當您將此代碼添加到主題functions.php文件時,您將在 WordPress 菜單區域看到電影部分。
讓我們告訴您這段代碼的功能。 這段代碼的作用是註冊一個帶有參數數組的帖子類型'movies'
。 這些參數是我們自定義帖子類型的選項。
這個數組有兩部分,第一部分是有標籤的,它本身就是一個數組。 第二部分包含其他參數,如公共可見性、存檔、slug 和 show_in_rest 啟用塊編輯器支持。
這是一個代碼,可以幫助您向 WordPress 自定義帖子類型添加更多選項,
/* * Creating a function to create our CPT */ function custom_post_type() { // Set UI labels for Custom Post Type $labels = array( 'name' => _x( 'Movies', 'Post Type General Name', 'twentytwenty' ), 'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentytwenty' ), 'menu_name' => __( 'Movies', 'twentytwenty' ), 'parent_item_colon' => __( 'Parent Movie', 'twentytwenty' ), 'all_items' => __( 'All Movies', 'twentytwenty' ), 'view_item' => __( 'View Movie', 'twentytwenty' ), 'add_new_item' => __( 'Add New Movie', 'twentytwenty' ), 'add_new' => __( 'Add New', 'twentytwenty' ), 'edit_item' => __( 'Edit Movie', 'twentytwenty' ), 'update_item' => __( 'Update Movie', 'twentytwenty' ), 'search_items' => __( 'Search Movie', 'twentytwenty' ), 'not_found' => __( 'Not Found', 'twentytwenty' ), 'not_found_in_trash' => __( 'Not found in Trash', 'twentytwenty' ), ); // Set other options for Custom Post Type $args = array( 'label' => __( 'movies', 'twentytwenty' ), 'description' => __( 'Movie news and reviews', 'twentytwenty' ), 'labels' => $labels, // Features this CPT supports in Post Editor 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ), // You can associate this CPT with a taxonomy or custom taxonomy. 'taxonomies' => array( 'genres' ), /* A hierarchical CPT is like Pages and can have * Parent and child items. A non-hierarchical CPT * is like Posts. */ 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'post', 'show_in_rest' => true, ); // Registering your Custom Post Type register_post_type( 'movies', $args ); } /* Hook into the 'init' action so that the function * Containing our post type registration is not * unnecessarily executed. */ add_action( 'init', 'custom_post_type', 0 );
如您所見,我們使用此代碼向自定義帖子類型添加了更多選項。 現在,您的帖子類型將具有更多功能,例如支持修訂、特色圖片、自定義字段等。
我們還將此自定義帖子類型與稱為流派的自定義分類相關聯。
手動創建自定義帖子類型的額外提示
您可能還會注意到,有一部分我們將層次結構值設置為 false。 但是,如果您希望您的自定義帖子類型表現得像 Pages,那麼您可以將此值設置為 true。
另一件需要注意的事情是 twentytwenty 字符串的重複使用,這稱為文本域。 因此,如果您的主題已準備好翻譯,那麼您將需要提及您的主題使用的文本域。
您可以在主題目錄中的style.css
文件中找到主題的文本域。 文本域將在文件的標題中提及。
現在您已經了解瞭如何在您的 WordPress 網站上創建自定義帖子類型,您需要了解如何在您的網站上顯示帖子。
在您的站點上顯示自定義帖子類型
要顯示新創建的自定義帖子類型,您需要執行簡單的步驟。
只需轉到外觀 » 菜單並向您的菜單添加自定義鏈接。 此自定義鏈接是指向您的自定義帖子類型的鏈接。
您需要像下面這樣編寫您的自定義帖子類型 URL,
http://example.com/?post_type=movies
或者如果您使用 SEO 友好的永久鏈接,那麼您的 CPT 的 URL 很可能是這樣的:
http://example.com/movies 。
不要忘記將 example.com 替換為您自己的域名,將 movies 替換為您的自定義帖子類型名稱。
保存菜單後,您可以訪問您的網站,您將看到您添加的新菜單,當您單擊它時,它將使用主題中的archive.php模板文件顯示您的自定義帖子類型存檔頁面。
在首頁顯示自定義帖子類型
使用 WordPress 自定義帖子類型的主要優點是它使您的自定義內容遠離常規帖子。 但是,如果您願意,可以在首頁上發布自定義內容。
您所要做的就是添加這段代碼,
add_action( 'pre_get_posts', 'add_my_post_types_to_query' ); function add_my_post_types_to_query( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'movies' ) ); return $query; }
只需用您的自定義帖子替換“電影”即可。 就是這樣!。
因此,這就是您可以在 WordPress 網站上手動創建和顯示自定義帖子類型的方法。
創建自定義帖子並將您的博客網站變成完美的 CMS 平台
如您所見,使用 WordPress 創建完美的 CMS 系統非常容易。 因為它為您提供了創建自定義管理系統的自由、功能和特性。
由於創建 WordPress 自定義帖子類型完全在您手中,您可以為您的控件創建額外的功能。 此外,您還可以創建自定義管理頁面。 但我們改天再談。
因此,請按照本指南創建您的自定義帖子類型,並讓我們知道您的體驗!