[:ja]カスタムフィールドとは、ワードプレスでページを作成する際に利用可能な「入力項目」の一種です。
通常、ページを作成するには「ページのタイトル」と「本文」の2つが入力項目として利用されています。この基本となる入力項目以外に、別途入力項目を利用する事が出来ます。この第3の入力項目をカスタムフィールドと呼びます。ページタイトルや本文のように、カスタムフィールドに入力した内容は、任意の箇所に出力できる性質を持っています。
WordPressは標準で「投稿」「固定ページ」という機能により、コンテンツを生成可能です。
カスタム投稿とは「投稿」でも「固定ページ」でもない、第3のコンテンツ生成を行う為の拡張機能のことです。
例えば、投稿機能で「お知らせ」といったコンテンツを運用している状況で、新たに「制作実績」、「スタッフブログ」、「お客様の声」といったコンテンツをブログ機能で生成したい場合に活用します。
カスタム投稿では、「投稿」の特徴であるカテゴリーやタグ・時系列によるソートといった機能以外にも、ページ間の親子関係を持たせる、といった「固定ページ」の特徴を盛り込むなど自由なカスタマイズが行えます。
カスタム投稿はそれぞれのコンテンツごとに、別のテンプレートを適用させる事ができる為、デザイン上完全に独立させることも可能です。
カスタム投稿をfunctions.phpで設定する為のサンプルコード
カスタム投稿の追加は、テーマファイル内のfunctions.phpで追加設定を行うか、WordPressプラグインで行えます。以下は、functions.phpへカスタム投稿を追加する為のサンプルコードです。
//制作実績のカスタム投稿 register_post_type( 'works', array( 'label' => '制作実績', 'hierarchical' => false, 'public' => true, 'has_archive' => true, 'supports' => array( 'title', 'editor', 'custom-fields', 'thumbnail' ), 'menu_position' => 5 ) ); //制作実績のカスタムタクソノミー register_taxonomy( 'workscat', 'works', array( 'label' => '制作実績のカテゴリー', 'hierarchical' => true, ) ); //制作実績のタグ register_taxonomy( 'workstag', 'works', array( 'label' => '制作実績のタグ', 'hierarchical' => false, ) );