커스텀 포스트가 관리자 페이지에서 일반 페이지처럼 템플릿을 선택할 수 있도록 하기

커스텀 포스트에서 페이지 템플릿을 선택하도록 만든다.

register_post_type() 함수 인자에서 ‘support’ 항목에 ‘page-attributes’를 추가한다. 그리고 아래의 필터를 추가한다.

<?php
add_filter( 'theme_' . 'custom_post_type' . '_templates', 'my_templates', 10, 4);

function my_templates( $post_templates, $wp_theme, $post, $post_type ) {
  if ( empty( $post_templates ) ) {
    $pt = $wp_theme->get_post_templates();
    $post_templates = $pt['page'] ?? array();
  }
  return $post_templates;
}