>我們還研究瞭如何自定義自定義帖子類型的各種UI標籤,以使其與本機
post>和 page post類型不同。但是,我們沒有介紹如何自定義他們生成的管理員通知。 > >在本教程中,我將介紹如何自定義這些通知以及如何向自定義郵政類型註冊新的分類法。
自定義CPT Admin通知
默認情況下,在自定義帖子上工作時顯示的管理員通知假設您正在處理帖子類型,因此,當更新書籍郵政類型時,顯示以下通知:帖子更新。查看帖子。
>您可以使用post_updated_messages掛鉤輕鬆地更改這些消息的文本:
>代碼說明:上面的代碼自定義了由書籍自定義帖子類型生成的管理通知。
add_filter( 'post_updated_messages', 'book_cpt_messages' ); /** * Book CPT updates messages. * * @param array $messages Existing post update messages. * * @return array Amended book CPT notices */ function book_cpt_messages( $messages ) { $post = get_post(); $post_type = get_post_type( $post ); $post_type_object = get_post_type_object( $post_type ); $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Book updated.', 'textdomain' ), 2 => __( 'Custom field updated.', 'textdomain' ), 3 => __( 'Custom field deleted.', 'textdomain' ), 4 => __( 'Book updated.', 'textdomain' ), 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => __( 'Book published.', 'textdomain' ), 7 => __( 'Book saved.', 'textdomain' ), 8 => __( 'Book submitted.', 'textdomain' ), 9 => sprintf( __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ), date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) ) ), 10 => __( 'Book draft updated.', 'textdomain' ) ); if ( $post_type_object->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) ); $messages[ $post_type ][1] .= $view_link; $messages[ $post_type ][6] .= $view_link; $messages[ $post_type ][9] .= $view_link; $preview_permalink = add_query_arg( 'preview', 'true', $permalink ); $preview_link = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) ); $messages[ $post_type ][8] .= $preview_link; $messages[ $post_type ][10] .= $preview_link; } return $messages; }$消息多維數組控制任何帖子類型顯示的管理通知。
>自定義書籍自定義帖子類型的消息,創建一個包含各種消息的索引數組,作為$消息的值['book']。
if語句檢查自定義郵政類型是否公開查詢。也就是說,在註冊自定義郵政類型時,公共論點是否設置為true。
>如果為true,則查看屬於CPT的帖子的鏈接將添加到更新,發布或計劃出版時顯示的管理通知中,而在提交帖子進行審查或提交帖子時,則添加了該帖子。草稿已更新。
自定義分類法
在WordPress中,分類法是分類任何類型帖子的機制。
>分類法的示例包括與給定類別和標籤相關的帖子分組的類別,該帖子與類別非常相似但更自由形式。有關分類法的更多信息,請訪問WordPress codex。 話雖如此,我們將介紹如何創建自定義分類法。讓我們以創建圖書帖子類型的示例,使用與博客文章相同的類別對書籍進行分類。
>>現實生活中的示例是一個簡單的數字下載插件,該插件使用下載定制帖子類型用於數字產品條目,其中download_category分類法用於產品分類。
為創建自定義分類法,使用register_taxonomy()函數並將其掛鉤到INIT ACTION,例如So:
如果您已經有一本書自定義帖子類型,則應看到添加到管理菜單和發布屏幕的類別分類法。
add_filter( 'post_updated_messages', 'book_cpt_messages' ); /** * Book CPT updates messages. * * @param array $messages Existing post update messages. * * @return array Amended book CPT notices */ function book_cpt_messages( $messages ) { $post = get_post(); $post_type = get_post_type( $post ); $post_type_object = get_post_type_object( $post_type ); $messages['book'] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Book updated.', 'textdomain' ), 2 => __( 'Custom field updated.', 'textdomain' ), 3 => __( 'Custom field deleted.', 'textdomain' ), 4 => __( 'Book updated.', 'textdomain' ), 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 6 => __( 'Book published.', 'textdomain' ), 7 => __( 'Book saved.', 'textdomain' ), 8 => __( 'Book submitted.', 'textdomain' ), 9 => sprintf( __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ), date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) ) ), 10 => __( 'Book draft updated.', 'textdomain' ) ); if ( $post_type_object->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) ); $messages[ $post_type ][1] .= $view_link; $messages[ $post_type ][6] .= $view_link; $messages[ $post_type ][9] .= $view_link; $preview_permalink = add_query_arg( 'preview', 'true', $permalink ); $preview_link = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) ); $messages[ $post_type ][8] .= $preview_link; $messages[ $post_type ][10] .= $preview_link; } return $messages; }
>您還可以使用register_post_type()進行登記自定義帖子類型,register_taxonomy()函數還接受了自定義標籤和配置自定義分類法的參數數組。
>
結論>自定義帖子類型是WordPress的強大功能,可用於分組不適合帖子和頁麵類型的數據或發布條目。蛋糕上的錦上添花是通過註冊自定義分類法進一步對自定義帖子類型的帖子進行分類的能力。
>關於WordPress自定義帖子類型,通知和分類法的常見問題
>
>如何在WordPress中創建自定義帖子類型? >在WordPress中創建自定義帖子類型涉及在functions.php文件中添加幾行代碼。您需要使用register_post_type()函數,該函數允許您通過其標籤,支持的功能,可用性和其他條件來定義新的帖子類型。請記住,通過訪問永久鏈接設置頁面添加代碼後,要刷新您的重寫規則。 > WordPress中的WordPress分類法是什麼?自定義帖子類型)在一起。它們有兩種形式:類別和標籤。類別是分層的,可以具有子類別,而標籤不是層次結構。您可以使用register_taxonomy()函數創建自定義分類法。>
>在註冊時如何將自定義分類法與自定義郵政類型相關聯?帶有register_taxonomy()函數的自定義分類法,您可以指定該分類法應該與之關聯的帖子類型。這是通過將帖子類型名稱作為第二個參數的數組來完成的。自定義更新帖子時顯示的消息。這對於自定義帖子類型特別有用,您可能希望在其中顯示與默認的消息不同的消息。
>如何將自定義字段添加到WordPress中的自定義帖子類型?使用“ add_meta_box”函數在WordPress中進行自定義帖子類型。此功能允許您在帖子編輯屏幕中添加一個新的Meta框,您可以在其中輸入帖子的其他信息。
>在使用register_taxonomy()函數註冊自定義分類法時,您可以指定該分類法應與之關聯的郵政類型。這是通過將帖子類型名稱作為第二個參數的數組來完成的。每當創建或更新帖子或頁面時,在WordPress中都會觸發。它可用於執行諸如保存元數據,發送通知或保存後應發生的其他任務之類的操作。
>以上是WordPress自定義帖子類型 - 通知和分類法的詳細內容。更多資訊請關注PHP中文網其他相關文章!