Requesting this endpoint for a template like ‘twentytwentytwo//home’ requires using a path like /wp/v2/templates/twentytwentytwo//home. There are special cases when WordPress routing corrects the name to contain only a single slash like ‘twentytwentytwo/home’.
Description
This method doubles the last slash if it’s not already doubled. It relies on the template ID format {theme_name}//{template_slug} and the fact that slugs cannot contain slashes.
See also
Parameters
$id
stringrequired- Template ID.
Source
public function _sanitize_template_id( $id ) {
$id = urldecode( $id );
$last_slash_pos = strrpos( $id, '/' );
if ( false === $last_slash_pos ) {
return $id;
}
$is_double_slashed = substr( $id, $last_slash_pos - 1, 1 ) === '/';
if ( $is_double_slashed ) {
return $id;
}
return (
substr( $id, 0, $last_slash_pos )
. '/'
. substr( $id, $last_slash_pos )
);
}
Changelog
Version | Description |
---|---|
5.9.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.