wp_set_unique_slug_on_create_template_part()WP 5.9.0

Sets a custom slug when creating auto-draft template parts.

This is only needed for auto-drafts created by the regular WP editor. If this page is to be removed, this will not be necessary.

Хуков нет.

Возвращает

null. Ничего.

Использование

wp_set_unique_slug_on_create_template_part( $post_id );
$post_id(int) (обязательный)
Post ID.

Список изменений

С версии 5.9.0 Введена.

Код wp_set_unique_slug_on_create_template_part() WP 6.0.2

function wp_set_unique_slug_on_create_template_part( $post_id ) {
	$post = get_post( $post_id );
	if ( 'auto-draft' !== $post->post_status ) {
		return;
	}

	if ( ! $post->post_name ) {
		wp_update_post(
			array(
				'ID'        => $post_id,
				'post_name' => 'custom_slug_' . uniqid(),
			)
		);
	}

	$terms = get_the_terms( $post_id, 'wp_theme' );
	if ( ! is_array( $terms ) || ! count( $terms ) ) {
		wp_set_post_terms( $post_id, wp_get_theme()->get_stylesheet(), 'wp_theme' );
	}
}