WordPressカスタム投稿タイプ–ビギナーズガイド

公開: 2017-01-04

WordPressは、もはやブログ投稿を作成および公開するための単なるツールではありません。 何年にもわたって、それは拡張可能で、柔軟で、堅牢なコンテンツ管理システムに進化しました。 WordPressはゆっくりですが確実に、Webアプリを構築するための本格的なフレームワークになる方向に進んでいます。 このCMSを非常に調整可能にするものの1つは、カスタム投稿タイプです。

デフォルトでは、WordPressには5つのコンテンツ投稿タイプが付属しており、そのうち2つは投稿とページという非常に馴染みのあるものに聞こえるはずです。 ただし、ユーザーは必要な数のカスタム投稿タイプを作成し、それらを使用してWordPressを微調整してニーズに合わせることができます。 この記事では、WordPressのカスタム投稿タイプと、それらがすばらしいWebサイトの構築にどのように役立つかについて説明します。 カスタム投稿タイプを作成する2つの方法について説明します。手動とプラグインの使用です。

WordPressカスタム投稿タイプ

箱から出して、WordPressには次の投稿タイプが付属しています。

  • 役職
  • ページ
  • リビジョン
  • アタッチメント
  • ナビゲーションメニュー

WordPressは、独自のオプションと機能を許可することにより、投稿タイプごとに異なる方法で処理します。 簡単な例は、投稿タイプ「投稿」専用のカテゴリとタグです。 ブログ投稿を特定のカテゴリに設定することはできますが、静的ページに対して同じことを行うことはできません。 一方、ページには親とテンプレートを含めることができます。

これまでに言及した投稿タイプはWordPressによって予約されています。 ユーザーは独自のカスタム投稿タイプを作成して、Webサイトの機能を拡張し、コンテンツをより適切に整理できます。 通常、カスタム投稿タイプの作成は、特定の投稿タイプに固有の固有のコンテンツとオプションを挿入できるカスタムフィールドとカスタム分類の作成と密接に関連しています。 しかし、これらを別の機会に残して、私たちのWebサイトに固有の投稿タイプを設定することに焦点を当てましょう。

カスタム投稿タイプの例

投稿タイプは、Webサイトに必要な任意のタイプのコンテンツにすることができます。 ポッドキャストのエピソードを表示する必要があり、時折、しかし別々のブログ投稿を公開する必要があるポッドキャストWebサイトがあるとします。 これで、すべてのコンテンツ(ポッドキャストとブログ投稿)を1つの場所に混在させると、コンテンツセクションが非常に速く乱雑になります。 そのため、時折ブログに投稿する場合は、WordPressのデフォルトの投稿タイプ「post」を使用します。これにより、デフォルトの分類であるカテゴリとタグを使用できます。

ポッドキャストセクションでは、ポッドキャストと呼ばれるカスタム投稿タイプを作成します。 このようにして、Webサイト上の2つの異なるコンテンツタイプを分離し、それらをきちんと整理することができます。 後で、エピソードの長さ、ホストの表示、リンクなど、ポッドキャストセクションのカスタムフィールドを作成できます。 さらに、ポッドキャストカテゴリ、ポッドキャストショーなど、このタイプのコンテンツに固有のカスタム分類を設定できます。 これがどこに行くのか、そしてコンテンツの操作と構造に関してWordPressがどれほどの柔軟性を提供するかがわかります。

WordPressでカスタム投稿タイプを作成する

WordPressでカスタム投稿タイプを作成する方法は2つあります。手動(かなり簡単ですが、コーディングにある程度精通している必要があります)とプラグインを使用する方法(はるかに簡単な方法ですが、プラグインをインストールしたままにする必要があります)。 どちらを選ぶべきですか? 多くのプラグインがあると、非互換性、パフォーマンスの問題、および不正なコードが原因で頭痛の種になる可能性があります。 すでにたくさんのプラグインがインストールされている場合は、一度手を汚したいと思うかもしれません。 両方の方法について説明し、どちらが最適かを決定します。

プラグインの使用

カスタム投稿タイプを作成するためのプラグインがいくつかあります。 最も人気のあるものの1つは、カスタム投稿タイプUIです。これを使用すると、投稿タイプのカスタム分類を作成することもできます。

重要な注意:問題のプラグインを削除すると、プラグインで作成された投稿タイプは表示されなくなります。 データはデータベースに保存されますが、カスタム投稿タイプは登録解除され、管理領域からアクセスできなくなります。

このプラグインのインターフェースは非常に直感的でシンプルです。 [新規追加]をクリックして、カスタム投稿タイプの投稿タイプ名、ラベル、単数ラベル、および説明を入力します。 5つのWordPress投稿タイプが予約されているわけではなく、それらの名前を使用することはできません。 入力する内容の例を次に示します。

投稿タイプ名:ポッドキャスト
レーベル:ポッドキャスト
単数形の名前:ポッドキャスト
説明:ポッドキャスティングの投稿タイプ

単数形の名前フィールドは、WordPressがいくつかのUI要素やAddNewPodcastなどのアクションを表示するために使用されます。

手動で

カスタム投稿タイプを手動で作成するには、テーマのfunctions.phpを変更する必要があります。 お気に入りのFTPクライアントを使用して、Webサイトがホストされているサーバーにログインします。 接続したら、次のことを行う必要があります。
1.wp-content->テーマ->テーマに移動します
2.functions.phpを開きます
3.子テーマを使用していて、そのようなファイルがない場合は、作成します。
4.以下のコードを挿入します。

この例のように、ポッドキャストのカスタム投稿タイプを作成する必要があります。 そのためのコードは次のとおりです(ステップ4から:次のコードがfunctions.phpファイルに入ります):

 // Registering CPT function podcast_post_type() { //Setting up the user interface labels for podcasting CPT $labels = array( 'name' => _x( 'Podcasts', 'Post Type General Name' ), 'singular_name' => _x( 'Podcast', 'Post Type Singular Name' ), 'menu_name' => __( 'Podcasts' ), 'name_admin_bar' => __( 'Podcast' ), 'parent_item_colon' => __( 'Parent Podcast' ), 'all_items' => __( 'All Podcasts' ), 'add_new_item' => __( 'Post New Podcast' ), 'add_new' => __( 'New Podcast' ), 'new_item' => __( 'New Podcast' ), 'edit_item' => __( 'Edit Podcast' ), 'update_item' => __( 'Update Podcast' ), 'view_item' => __( 'View Podcast' ), 'search_items' => __( 'Search Podcasts' ), 'not_found' => __( 'No Podcasts found' ), 'not_found_in_trash' => __( 'No Podcasts found in trash' ) ); //Setting up other options for Podcasts CPT $args = array( 'label' => __( 'Podcasts' ), 'labels' => $labels, 'description' => __( 'Creating and managing podcasts' ), 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'comments', 'revisions', 'custom-fields' ), //Initially supported features 'taxonomies' => array( 'podcast-category'), //If custom taxonomies exist, insert their names in the array 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'show_in_admin_bar' => true, 'show_in_nav_menus' => true, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, ); //Registering custom post type register_post_type( 'podcasts', $args ); } // Hook into init action add_action( 'init', 'podcasts_post_type', 0 );

コードのこの部分は複雑に見えるかもしれませんが、実際にはそうではありません。 カスタム投稿タイプの一連のオプションを挿入し、それが何をサポートするかを指定するだけです。 ご了承ください:

  • $ labels配列は、管理パネルに投稿タイプを表示する方法をWordPressに指示します。
  • $ args配列は、$ labels配列からすべての構成をロードし、カスタム投稿タイプのオプションを指定します。
  • 魔法は、register_post_type('podcasts'、$ args)関数がメインのpodcasts_post_type()関数内で、カスタム投稿タイプの名前と$ args(連想配列)に格納されているオプションの2つの引数で呼び出されたときに発生します。 次に、podcasts_post_type()関数を初期化にフックし、WordPressにロードさせます。

[保存]をクリックし、変更したfunctions.phpをテーマのフォルダーにアップロードすると、WordPress管理パネルにポッドキャスト($ argsのmenu_positionが5に設定されているため、以下の投稿のみ)が表示されます。 カーソルを合わせると、「すべてのポッドキャスト」や「新しいポッドキャストの追加」などのアクションが表示されます。これは、$labels配列で指定したとおりです。 カスタムフィールドを挿入しなかったため、新しいポッドキャストを追加しようとすると、すべてが通常の投稿を追加した場合と同じになります。

お気づきの方もいらっしゃると思いますが、$ args配列に、分類法として「ポッドキャスト」を追加しました。 この分類法はまだ作成していませんが、最終的にはポッドキャストカテゴリ、ポッドキャストショーなどのカスタムカテゴリを保持する予定です。

WordPressのカスタム投稿タイプに関して言えば、これが本当にあなたが今必要としているすべてです。 ここで問題となるのは、CPTのコンテンツを表示する方法、分類法(この場合はポッドキャスト分類法)を作成する方法、およびカスタムフィールドを作成する方法です。 心配しないでください。これらすべてを段階的に説明します。