W3cubDocs

/WordPress

wp_add_trashed_suffix_to_post_name_for_post( WP_Post $post ): string

Adds a trashed suffix for a given post.

Description

Store its desired (i.e. current) slug so it can try to reclaim it if the post is untrashed.

For internal use.

Parameters

$postWP_Postrequired
The post.

Return

string New slug for the post.

Source

function wp_add_trashed_suffix_to_post_name_for_post( $post ) {
	global $wpdb;

	$post = get_post( $post );

	if ( str_ends_with( $post->post_name, '__trashed' ) ) {
		return $post->post_name;
	}
	add_post_meta( $post->ID, '_wp_desired_post_slug', $post->post_name );
	$post_name = _truncate_post_slug( $post->post_name, 191 ) . '__trashed';
	$wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), array( 'ID' => $post->ID ) );
	clean_post_cache( $post->ID );
	return $post_name;
}

Changelog

Version Description
4.5.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/wp_add_trashed_suffix_to_post_name_for_post