WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法

  • 56666
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

WordPressで企業サイトやWEBサイトを構築する上で便利なカスタム投稿タイプですが、カスタム投稿タイプの投稿記事にも固定ページと同じように「親子関係」を持たせることができます。

方法は、プラグインを「利用しない」場合と「利用する」場合の2種類ありますので、今回は「functions.php でカスタム投稿タイプを動かす場合」と「Types プラグインを利用する場合」で、カスタム投稿タイプの記事に親子関係を持たせる方法を紹介させていただきます。

※「カスタム投稿タイプって何?」に関しては、別途こちらの記事(WordPressでカスタム投稿タイプを使えるようにfunctions.php をカスタマイズする方法)をご覧ください。

(1)functions.php でカスタム投稿タイプを動かす場合

functions.php をゴニョゴニョしてカスタム投稿タイプを動かす場合に、投稿記事に親子関係を持たせる方法です。

WordPressでカスタム投稿タイプを使えるようにfunctions.php をカスタマイズする方法で紹介させていただいたコードをfunctuons.php に書く際に、hierarchicaltrue にします。
$args = array(
    'hierarchical' => true
);
hierarchical は「階層」と訳されます。


全体としては、こんな感じになります。
以下のソースコードの 27 行目の hierarchicaltrue にします。
<?php
//カスタム投稿タイプ
add_action('init', 'my_custom_init');
function my_custom_init()
{
  $labels = array(
    'name' => _x('カスタム投稿タイプ', 'post type general name'),
    'singular_name' => _x('カスタム投稿タイプ', 'post type singular name'),
    'add_new' => _x('新規投稿', 'sample'),
    'add_new_item' => __('記事を書く'),
    'edit_item' => __('記事を編集'),
    'new_item' => __('新しい記事'),
    'view_item' => __('記事を見る'),
    'search_items' => __('記事を探す'),
    'not_found' =>  __('記事はありません'),
    'not_found_in_trash' => __('ゴミ箱に記事はありません'),
    'parent_item_colon' => ''
  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => true,
    'menu_position' => 5,
    'supports' => array('title','editor','thumbnail','custom-fields','excerpt','author','trackbacks','comments','revisions','page-attributes'),
    'has_archive' => true
  );
  register_post_type('sample',$args);
}
?>


(2)Types プラグインを利用する場合

続いて、Types のプラグインを利用する場合です。

Types プラグインの基本的な使い方、設定方法は別途カスタム投稿タイプとカスタムフィールドを一元管理したいなら「Types」プラグインが便利(1)カスタム投稿タイプとカスタムタクソノミーの記事をご覧ください。
WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法

新規にカスタム投稿タイプを作成すると、初期状態では「階層」にチェックが入っていないので、「階層」にチェックを入れることで、記事に親子関係を持たせることができます。
WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法

「セクションを表示」欄の「ページの特性」にもチェックを入れておきます。
WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法

新規で記事を書く場合、記事が1件もない(親記事が存在しない)ため、投稿画面右側の「属性」欄には何も表示されません。
WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法

2件目以降の記事を投稿すると、投稿画面右側の「属性」欄に記事を選択するフォームが出現しますので、「親」にする記事をセレクタから選択できるようになります。
WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法 ※記事が「下書き」になっていると、親記事の候補には出てきません。


記事一覧ページでは、親子関係になっているのが分かります。
WordPressのカスタム投稿タイプで記事に「親子関係」を持たせる方法

カスタム投稿タイプを動かすプラグインは、Typesの他にも Custom Post Type UI などがありますが、Custom Post Type UI を使って記事に親子関係を持たせる方法は、改めて紹介させていただきます。

  • 56666
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

この投稿と関連する記事一覧

この記事に関するコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください