post_types_to_delete_with_userхук-фильтрWP 3.4.0

Позволяет изменить список типов записей, которые нужно удалить при удалении пользователя. Речь идет только о записях созданных пользователем.

По умолчанию в список на удаление попадают типы записей, у которых при регистрации включен параметр delete_with_user. См. register_post_type().

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

add_filter( 'post_types_to_delete_with_user', 'wp_kama_post_types_to_delete_with_user_filter', 10, 2 );

/**
 * Function for `post_types_to_delete_with_user` filter-hook.
 * 
 * @param string[] $post_types_to_delete Array of post types to delete.
 * @param int      $id                   User ID.
 *
 * @return string[]
 */
function wp_kama_post_types_to_delete_with_user_filter( $post_types_to_delete, $id ){

	// filter...
	return $post_types_to_delete;
}
$post_types_to_delete(строка[])
Массив с именами типов записей.
$id(число)
ID удаляемого пользователя.

Примеры

0

#1 Добавим тип записи product в удаление, при удалении пользователя

Пусть в зарегистрированном типе записи product параметр delete_with_user равен false, т.е. указано, что не нужно удалять записи пользователя при удалении пользователя. Изменим это поведение через хук, так чтобы записи пользователя типа product удалялись вместе с пользователем.

add_filter( 'post_types_to_delete_with_user', 'add_post_type_product_to_delete_with_user', 10, 2 );

function add_post_type_product_to_delete_with_user( $post_types_to_delete, $id ){
	$post_types_to_delete[] = 'product';

	return $post_types_to_delete;
}

Аналогичного результата можно добиться и на хуке register_post_type_args:

add_filter( 'register_post_type_args', 'register_post_type_product_args', 10, 2 );

function change_rest_base_posts( $args, $post_type ) {
	if ( 'product' === $post_type ) {
		$args['delete_with_user'] = true;
	}

	return $args;
}

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

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

Где вызывается хук

wp_delete_user()
post_types_to_delete_with_user
wp-admin/includes/user.php 400
$post_types_to_delete = apply_filters( 'post_types_to_delete_with_user', $post_types_to_delete, $id );

Где используется хук в WordPress

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