Title: WP_REST_Template_Autosaves_Controller::__construct
Published: November 8, 2023
Last modified: May 20, 2026

---

# WP_REST_Template_Autosaves_Controller::__construct( string $parent_post_type )

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#wp--skip-link--target)

Constructor.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#parameters)󠁿

 `$parent_post_type`stringrequired

Post type of the parent.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#source)󠁿

    ```php
    public function __construct( $parent_post_type ) {
    	parent::__construct( $parent_post_type );
    	$this->parent_post_type = $parent_post_type;
    	$post_type_object       = get_post_type_object( $parent_post_type );
    	$parent_controller      = $post_type_object->get_rest_controller();

    	if ( ! $parent_controller ) {
    		$parent_controller = new WP_REST_Templates_Controller( $parent_post_type );
    	}

    	$this->parent_controller = $parent_controller;

    	$revisions_controller = $post_type_object->get_revisions_rest_controller();
    	if ( ! $revisions_controller ) {
    		$revisions_controller = new WP_REST_Revisions_Controller( $parent_post_type );
    	}
    	$this->revisions_controller = $revisions_controller;
    	$this->rest_base            = 'autosaves';
    	$this->parent_base          = ! empty( $post_type_object->rest_base ) ? $post_type_object->rest_base : $post_type_object->name;
    	$this->namespace            = ! empty( $post_type_object->rest_namespace ) ? $post_type_object->rest_namespace : 'wp/v2';
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php#L57)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php#L57-L77)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_REST_Templates_Controller::__construct()](https://developer.wordpress.org/reference/classes/wp_rest_templates_controller/__construct/)`wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php` |

Constructor.

  | 
| [WP_REST_Autosaves_Controller::__construct()](https://developer.wordpress.org/reference/classes/wp_rest_autosaves_controller/__construct/)`wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php` |

Constructor.

  | 
| [WP_REST_Revisions_Controller::__construct()](https://developer.wordpress.org/reference/classes/wp_rest_revisions_controller/__construct/)`wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php` |

Constructor.

  | 
| [get_post_type_object()](https://developer.wordpress.org/reference/functions/get_post_type_object/)`wp-includes/post.php` |

Retrieves a post type object by name.

  |

[Show 1 more](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_rest_template_autosaves_controller/__construct/?output_format=md#changelog)󠁿

| Version | Description | 
| [6.4.0](https://developer.wordpress.org/reference/since/6.4.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_rest_template_autosaves_controller%2F__construct%2F)
before being able to contribute a note or feedback.