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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.