ホームページ >CMS チュートリアル >&#&プレス >WordPressカスタム投稿タイプ - 通知と分類法

WordPressカスタム投稿タイプ - 通知と分類法

Lisa Kudrow
Lisa Kudrowオリジナル
2025-02-15 10:31:11996ブラウズ

WordPressカスタム投稿タイプ - 通知と分類法

キーテイクアウト

    WordPressカスタムポストタイプ(CPT)の管理者通知のカスタマイズ「post_updated_messages」フックを使用して実現できます。これにより、ユーザーは投稿が保存、公開、または更新されたときに表示されるデフォルトのアラートメッセージを変更できます。
  • WordPressでは、分類法はCPTSを含むあらゆるタイプの投稿をグループ化するメカニズムとして機能します。カスタム分類法は、「Register_Taxonomy()」関数を使用して作成でき、CPTSのより具体的な分類を可能にします。
  • カスタム投稿タイプと分類法は、デフォルトの投稿とページの種類を超えて、より整理された具体的なデータまたは投稿エントリのグループ化を可能にする強力なWordPress機能です。
  • 以前の投稿では、カスタムポストタイプ(CPT)とWordPress搭載のWebサイトの作成方法を紹介しました。 また、カスタムポストタイプのさまざまなUIラベルをカスタマイズして、ネイティブ
  • Post
  • および Page POSTタイプとは異なるようにする方法についても調べました。ただし、生成された管理者通知をカスタマイズする方法はカバーしていません。 このチュートリアルでは、これらの通知をカスタマイズする方法と、カスタム投稿タイプに新しい分類法を登録する方法について説明します。 CPT管理者のカスタマイズCPT Adminが通知します

    たとえば、ドラフトとして投稿が保存されている場合、公開されている場合、またはプラグインの設定を保存した場合でも、管理ページの上部近くに表示されるアラートメッセージに精通していますか?このメッセージは、管理通知と呼ばれるものです。

    デフォルトでは、カスタム投稿で作業するときに表示される管理者通知は、投稿のポストタイプを扱っていると仮定します。したがって、たとえば本の投稿タイプが更新された場合、次の通知が表示されます:投稿が更新されます。投稿を表示します。 post_updated_messagesフックを使用して、これらのメッセージのテキストを簡単に変更できます。 コード説明:上記のコードは、本によって生成された管理者通知をカスタマイズしますカスタム投稿タイプ。

    $メッセージ多次元配列は、投稿タイプによって表示される管理者通知を制御します。

    本のカスタム投稿タイプのメッセージをカスタマイズするには、さまざまなメッセージを$メッセージ['book']の値として含むインデックス配列を作成します。

    IFステートメントは、カスタム投稿タイプが公開可能かどうかを確認します。つまり、カスタムポストタイプを登録している間に、公開議論が真に設定されているかどうか。 カスタム分類法

    WordPressでは、分類法はあらゆるタイプの投稿をグループ化するメカニズムです。

    分類法の例には、特定のカテゴリに関連する投稿をグループ化するためのカテゴリと、カテゴリにかなり似ているが、より自由な形式のタグが含まれます。分類法の詳細については、WordPress Codexで入手できます。

    言われていると、カスタム分類法の作成方法について説明します。本の投稿タイプを作成し、ブログ投稿に使用されているのと同じカテゴリを使用して本のエントリを分類する例を見てみましょう。

    実際の例は、製品分類にダウンロード_category分類法を備えたデジタル製品エントリのダウンロードカスタム投稿タイプを使用する簡単なデジタルダウンロードプラグインです。

    カスタム分類法を作成するには、register_taxonomy()関数を使用して、次のように初期アクションにフックします。

    本のカスタム投稿タイプが既にある場合は、管理メニューに追加されたカテゴリの分類法と編集画面を投稿する必要があります。

    >
    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()を使用してカスタム投稿タイプを登録することもできます。レジスタ_taxonomy()関数は、ラベルをカスタマイズし、カスタム分類法の構成をカスタマイズするための一連の引数も受け入れます。

    register_post_type()のそれとほとんど同じであるため、引数を説明することはありません。引数と説明のリストはこちらから入手できます。 WordPressカスタム投稿タイプ - 通知と分類法結論WordPressカスタム投稿タイプ - 通知と分類法

    カスタム投稿タイプは、WordPressの強力な機能であり、データやページタイプに適合しないデータまたは投稿エントリのグループ化に役立ちます。ケーキのアイシングは、カスタム分類法を登録することにより、カスタム投稿タイプの投稿をさらに分類する機能です。

    質問や貢献はありますか?コメントを使用してお知らせください。

    WordPressカスタム投稿タイプ、通知、および分類法についてよく尋ねる質問

    WordPressでカスタム投稿タイプを作成するにはどうすればよいですか?

    ​​

    WordPressでカスタム投稿タイプを作成するには、functions.phpファイルに数行のコードを追加することが含まれます。 Register_Post_Type()関数を使用する必要があります。これにより、ラベル、サポートされている機能、可用性、その他の基準で新しい投稿タイプを定義できます。 Permalinks設定ページにアクセスしてコードを追加した後、書き換えルールを洗い流すことを忘れないでください。カスタム投稿タイプ)一緒に。カテゴリとタグの2つの形式があります。カテゴリは階層的であり、子供のカテゴリを持つことができますが、タグは階層的ではありません。 Register_Taxonomy()関数を使用してカスタム分類法を作成できます

    WordPressにカスタム投稿タイプの通知を表示するにはどうすればよいですか?

    カスタムポストタイプ通知を表示するには、「post_updated_messages」フィルターフックを使用できます。このフックを使用すると、任意の投稿タイプの更新メッセージをカスタマイズできます。 functions.phpファイルに投稿タイプをチェックしてから適切なメッセージを設定するファイルを追加できます。 Register_Taxonomy()関数を使用したカスタム分類法では、この分類法が関連付けられる投稿タイプを指定できます。これは、一連のpostタイプ名を関数の2番目のパラメーターとして渡すことによって行われます。投稿が更新されたときに表示されるメッセージをカスタマイズします。これは、デフォルトとは異なるメッセージを表示する必要があるカスタム投稿タイプに特に役立ちます。 'WordPressの関数は、現在の投稿または特定の投稿の投稿タイプを取得するために使用されます。成功について文字列を返し、失敗にfalseを返します。この関数は、投稿タイプに基づいてアクションを実行する必要がある場合に役立ちます。 「add_meta_box」関数を使用して、wordpressのカスタム投稿タイプ。この関数を使用すると、新しいメタボックスを投稿編集画面に追加できます。ここで、投稿の追加情報を入力できます。 >サイトのフロントページにカスタム投稿タイプを表示するには、WordPressが使用して投稿を表示するメインクエリを変更できます。これは、「pre_get_posts」アクションフックを使用して、「post_type」パラメーターをカスタム投稿タイプの名前に設定することで実行できます。 >

    register_taxonomy()関数にカスタム分類法を登録すると、この分類法が関連付けられる投稿タイプを指定できます。これは、POSTタイプ名の配列を関数の2番目のパラメーターとして渡すことによって行われます。 WordPressでは、投稿またはページが作成または更新されるたびにトリガーされます。ポストメタデータの保存、通知の送信、または投稿が保存された後に発生するその他のタスクなどのアクションを実行するために使用できます。

以上がWordPressカスタム投稿タイプ - 通知と分類法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。