Title: WP_REST_Font_Faces_Controller::prepare_item_for_database
Published: April 3, 2024
Last modified: May 20, 2026

---

# WP_REST_Font_Faces_Controller::prepare_item_for_database( WP_REST_Request $request ): stdClass

## In this article

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

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

Prepares a single font face post for creation.

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

 `$request`[WP_REST_Request](https://developer.wordpress.org/reference/classes/wp_rest_request/)
required

Request object.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_rest_font_faces_controller/prepare_item_for_database/?output_format=md#return)󠁿

 stdClass Post object.

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

    ```php
    protected function prepare_item_for_database( $request ) {
    	$prepared_post = new stdClass();

    	// Settings have already been decoded by ::sanitize_font_face_settings().
    	$settings = $request->get_param( 'font_face_settings' );

    	// Store this "slug" as the post_title rather than post_name, since it uses the fontFamily setting,
    	// which may contain multibyte characters.
    	$title = WP_Font_Utils::get_font_face_slug( $settings );

    	$prepared_post->post_type    = $this->post_type;
    	$prepared_post->post_parent  = $request['font_family_id'];
    	$prepared_post->post_status  = 'publish';
    	$prepared_post->post_title   = $title;
    	$prepared_post->post_name    = sanitize_title( $title );
    	$prepared_post->post_content = wp_json_encode( $settings );

    	return $prepared_post;
    }
    ```

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

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

| Uses | Description | 
| [WP_Font_Utils::get_font_face_slug()](https://developer.wordpress.org/reference/classes/wp_font_utils/get_font_face_slug/)`wp-includes/fonts/class-wp-font-utils.php` |

Generates a slug from font face properties, e.g. `open sans;normal;400;100%;U+0-10FFFF`

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

Sanitizes a string into a slug, which can be used in URLs or HTML attributes.

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

Encodes a variable into JSON, with some confidence checks.

  |

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

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

| Version | Description | 
| [6.5.0](https://developer.wordpress.org/reference/since/6.5.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_font_faces_controller%2Fprepare_item_for_database%2F)
before being able to contribute a note or feedback.