supports有効にする投稿機能を配列で指定する。今回は、タイトル(title)、本文(editor)、投稿者(author)、カスタムフィールド(custom-fields)の4つを有効にしたいので、array(‘title’,’editor’,’author’,’custom-fields’)を指定します。taxonomies有効にするタクソノミー名を配列で指定する。今回は、このカスタム投稿タイプ専用のカテゴリ&タグの名前を配列で指定します。※専用カテゴリ&タグの設定は、次の項目で紹介しますfunctions.phpを編集してカテゴリとタグを作成する続けて、カスタム投稿タイプ『サイト』専用のカテゴリとタグを追加します。);}簡単にコードの説明を書きます。'create_websites_taxonomies');1行目はカスタム投稿タイプを作成した同様で、「init処理中に、関数create_websites_taxonomiesを実行してね」と、予約しておく関数です。補足:タクソノミーとは?タクソノミー(taxonomy)は、分類の意味です。WordPressではカテゴリやタグのことです。register_taxonomy()関数でカスタム投稿タイプを追加する次にcreate_websites_taxonomies関数の中身について紹介します。前半はカテゴリー追加、後半はタグ追加に関するコードです。$args);の2行だけです。実行すると、カスタム投稿タイプ’websites’にタクソノミーがそれぞれ追加されます。カテゴリとタグの違いは階層的かどうかカテゴリとタグで似たようなコードを繰り返しているのですが、大きな違いは’hierarchical’というオプションです。カテゴリではtrue、タグではfalseを指定します。記事の分類情報を階層化したもの=カテゴリであり、階層化していないもの=タグということですね。タクソノミーの名前を決める第一引数にタクソノミーの名前を指定します。32文字以内の小文字英数字で指定します。予約語と衝突してもNGです。Terms)に予約語一覧があるので、被らないように注意してください。補足:この名前はサイト運用中に変更することが出来ません。考えて付けた方がいいです。タクソノミーの適用先を指定する第二引数にタクソノミーを適用する投稿タイプを指定します。デフォルトの投稿タイプ名(’post’など)、あるいはカスタム投稿タイプ名を、文字列または配列で指定します。適用先が1つなら、文字列でOKです。タクソノミーの挙動を定義する第三引数にタクソノミーの動作を決めるオプション値を、連想配列で指定します。各オプションの詳細はCodex(register_taxonomy)に掲載されているので、ここではコード中で指定した項目だけ紹介します。labelsこの投稿タイプについて、ダッシュボードで表示される名前。hierarchical階層型の分類ならtrue(カテゴリタイプ)、非階層ならfalse(タグタイプ)を指定する。rewriteタクソノミーページを表示するときのURLについて、連想配列で指定する。websites_tag)だが、これをslugオプションで変更できる。array(‘slug’=>’websites_cat’)※この値は、基本的に一度決めたら変更できません。考えて付けた方が良いです。update_count_callbackタグタイプのタクソノミーを利用したい場合は、コールバック関数として’_update_post_term_count’を指定する。以上で、functions.phpのカスタマイズは終わりです。ダッシュボードからカスタム投稿記事をアップする前項目までのfunctions.phpのカスタマイズを終えて保存してからダッシュボードを開くと、新しい投稿メニューが増えています。サイト>新規作成メニューから投稿記事を作成します。今回の例では、下記のような情報を入力して記事を作成します。カテゴリ、タグも適当につけてみます。サイトのURLwebsiteslist.phpを作成するカスタム投稿タイプにUpした記事(運営中のサイト情報)に基づいて、サイドバーにリンク一覧を表示するために、自作テンプレートパーツを作成します。</ul></div>動作の流れを、かいつまんで紹介します。?>">運営サイト</a></h4>ここでは、リンク一覧の見出しのHTMLコードを作成しています。カスタム投稿タイプのアーカイブページは、次のWordPress関数get_post_type_archive_link('カスタム投稿タイプ名')で入手できるので、echoで出力します。);query_posts()関数は、クエリを作成するためのWordPress関数です。※補足:クエリとは?ここでは、データベースから引っ張ってくるWP記事の一覧のようなものです。クエリ(Query)の直訳は「問い合わせ」で、特定の情報をデータベースに要求すること、およびその内容をクエリと言います。引数で指定した条件に合致する記事のクエリを作ることができます。ここでは、post_type:投稿タイプ名を指定showposts:表示記事数(-1を指定すると、全ての記事を出力)の2点を指定することで、「カスタム投稿タイプ”websites”の、全ての記事を表示する」という動作をさせることができます。その他のオプション値は、Codex(query_posts)を確認してください。・・・}the_post()関数で、先ほど作成したクエリに基づいて順番に記事を読み込みます。具体的には、変数$postに記事のデータがロードされます。true);get_post_meta()は、カスタムフィールドの値を入手するためのWordPress関数です。引数で、記事のID番号、カスタムフィールド名、返り値の形の3つを指定します。第3引数にtrueを指定すると文字列、falseを指定すると配列で出力されます。"</a></li>n";リスト形式で、get_post_metaで入手したURLに飛ぶリンクをecho出力します。クエリをリセットするwp_reset_query();今回はquery_posts()関数でクエリをいじったので、元のクエリに戻しておきます。※補足:元のクエリって何のこと?元のクエリとは、WordPressがURLに基づいて自動的に作成してくれるクエリ(記事リスト)のことです。WordPressで作成したページを表示するときは、WordPressコアが、URLに基づいて適切なクエリを作成してくれます。トップページを表示する場合は、最新の投稿10件のクエリを作成してくれるし(ダッシュボードの表示設定がデフォルトのままの場合)、カテゴリページにアクセスすれば、そのカテゴリに属する記事のクエリを作成してくれます。sidebar.phpにインクルードタグを挿入するsidebar.phpにインクルードタグを挿入して、websiteslist.phpを読み込み、Webサイトリンク一覧が表示されるようにします。?></aside>今回は、サイドバーの一番下に表示したいので、dynamic_sidebar()の後に挿入しました。動作を確認するトップページにアクセスしてみます。サイドバーの一番下に、カスタム投稿”websites”に投稿したサイト情報が表示されました。該当箇所のコードを確認してみます。</ul></div>最後に、今回作成したサイトについて、各アーカイブへのURLをまとめておきます。2012年5月Authorプログラマー:TaeWordPressのサイト制作を始めて2年になりました。WordPressテーマの作り。