The Stack Overflow podcast is back! Listen to an interview with our new CEO.
2 Clarified why the template and not the CPT itself is the criteria for the display of the ACF fields.
source | link

I have a custom templates that is used by several custom post types. This code forces the CPT singles to display on the front end using it:

function get_custom_post_type_template($single_template) {
  global $post;
  if ( in_array(get_post_type(), array('custompt1','custompt2','custompt3')) ){
    if ( is_single() ) {
      $single_template = get_stylesheet_directory() . '/single-custompt.php';
    }
  }
  return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

The problem is that in the admin the Post Attributes multiple select input still shows Default Template.

I need my custom template to be selected in order to get ACF fields to display (I know I could simply make the ACF fields display for each CPT but there are quite a few CPTs andI decided to use the CPT template as my criteria). Hiding the Post Attributes completely would be fine as long the right template is selected in the admin.

I have a custom templates that is used by several custom post types. This code forces the CPT singles to display on the front end using it:

function get_custom_post_type_template($single_template) {
  global $post;
  if ( in_array(get_post_type(), array('custompt1','custompt2','custompt3')) ){
    if ( is_single() ) {
      $single_template = get_stylesheet_directory() . '/single-custompt.php';
    }
  }
  return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

The problem is that in the admin the Post Attributes multiple select input still shows Default Template.

I need my custom template to be selected in order to get ACF fields to display. Hiding the Post Attributes completely would be fine as long the right template is selected in the admin.

I have a custom templates that is used by several custom post types. This code forces the CPT singles to display on the front end using it:

function get_custom_post_type_template($single_template) {
  global $post;
  if ( in_array(get_post_type(), array('custompt1','custompt2','custompt3')) ){
    if ( is_single() ) {
      $single_template = get_stylesheet_directory() . '/single-custompt.php';
    }
  }
  return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

The problem is that in the admin the Post Attributes multiple select input still shows Default Template.

I need my custom template to be selected in order to get ACF fields to display (I know I could simply make the ACF fields display for each CPT but there are quite a few CPTs andI decided to use the CPT template as my criteria). Hiding the Post Attributes completely would be fine as long the right template is selected in the admin.

1
source | link

How do I force a CPT to select a shared custom template in Post Attributes?

I have a custom templates that is used by several custom post types. This code forces the CPT singles to display on the front end using it:

function get_custom_post_type_template($single_template) {
  global $post;
  if ( in_array(get_post_type(), array('custompt1','custompt2','custompt3')) ){
    if ( is_single() ) {
      $single_template = get_stylesheet_directory() . '/single-custompt.php';
    }
  }
  return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

The problem is that in the admin the Post Attributes multiple select input still shows Default Template.

I need my custom template to be selected in order to get ACF fields to display. Hiding the Post Attributes completely would be fine as long the right template is selected in the admin.