WordPress 通常投稿に親子関係(階層)をもたせる方法

WordPressで通常投稿に親子関係(階層)をもたせる方法です。

WordPress 通常投稿に親子関係(階層)をもたせる方法

通常、WordPressで「親子関係」を持たせる方法といえば、カスタム投稿タイプで記事を階層化する方法が一般的ですが、これまで通常の投稿で記事を書いていたのに、突然階層化したくなった場合どうしたらいいのかと思い調べたものの、思ったよりニーズがないのか全然ヒットしなかったので、ここに残しておきます。

ここでは WordPressで通常投稿に親子関係(階層)をもたせる方法 を紹介します。


WordPressで通常投稿を階層化する

通常投稿に親子関係を付けるには、下記のコードを funcions.php に記述します。

/**
 * 通常投稿に親子関係を付ける
 */
function registered_post_hierarchical( $post_type, $post_type_object ) {
  if ( $post_type == 'post' ) {
    $post_type_object->hierarchical = true;
    add_post_type_support( 'post', 'page-attributes' );
  }
}
add_action( 'registered_post_type', 'registered_post_hierarchical', 10, 2 );

コードを見てわかるように、registered_post_type をフックすることで対応ができます。

WordPress管理画面の「投稿の編集」画面右下に、下図のように「投稿の属性」が表示されます。

WordPress 通常投稿階層化 投稿の属性

ふむふむ、これで記事の親子関係ができますね^^

まとめ

WordPressで通常投稿に親子関係(階層)をもたせる方法を紹介しました。

確かにカスタム投稿タイプで記事を階層化する方法はよく使うけど、通常投稿の階層化なんてあまり考えたことがなかったなー。ネット上に情報が出ていないってことは必要としている人がいないのかなー。それとも調べた方が悪かった?!

WordPressの仕組みに詳しくないクライアントさんは、投稿ページにガンガン追加するけど、ある時に記事の整理整頓したくなって階層化を考えることもあると思うんですよね。実際、この記事を書いた理由はそれだし。

同じようなことで悩んでいる方がいれば試してみてください。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。