Перемещает комментарий в корзину.
Перемещает комментарий в корзину.
Запоминает прежний статус комментария и время удаления. Эти данные используются при восстановлении через wp_untrash_comment().
Если EMPTY_TRASH_DAYS = 0, управление передается wp_delete_comment().
При обработке комментария типа note верхнего уровня функция также перемещает в корзину или удаляет его непосредственные дочерние комментарии типа note.
Функция не проверяет права пользователя и nonce. При вызове из пользовательского запроса эти проверки нужно выполнить отдельно.
Обработка дочерних заметок не является транзакцией. Функция может вернуть false, когда родительская заметка уже перемещена в корзину, но обработать одну из дочерних заметок не удалось.
true|false.
true - комментарий и связанные дочерние заметки успешно перемещены в корзину или удалены.false - комментарий не найден, не удалось изменить его статус или удалить его либо не удалось обработать одну из дочерних заметок.wp_trash_comment( $comment_id );
Проверяем права текущего пользователя и перемещаем комментарий в корзину:
$comment_id = 123;
if ( current_user_can( 'edit_comment', $comment_id ) ) {
$result = wp_trash_comment( $comment_id );
if ( ! $result ) {
wp_die( 'Не удалось переместить комментарий в корзину.' );
}
}| С версии 2.9.0 | Введена. |
| С версии 6.9.0 | Any child notes are deleted when deleting a note. |
function wp_trash_comment( $comment_id ) {
if ( ! EMPTY_TRASH_DAYS ) {
$comment = get_comment( $comment_id );
$success = wp_delete_comment( $comment_id, true );
if ( ! $success ) {
return false;
}
// Also delete children of top level 'note' type comments.
if ( $comment && 'note' === $comment->comment_type && 0 === (int) $comment->comment_parent ) {
$children = $comment->get_children(
array(
'fields' => 'ids',
'status' => 'all',
'type' => 'note',
)
);
foreach ( $children as $child_id ) {
if ( ! wp_delete_comment( $child_id, true ) ) {
$success = false;
}
}
}
return $success;
}
$comment = get_comment( $comment_id );
if ( ! $comment ) {
return false;
}
/**
* Fires immediately before a comment is sent to the Trash.
*
* @since 2.9.0
* @since 4.9.0 Added the `$comment` parameter.
*
* @param string $comment_id The comment ID as a numeric string.
* @param WP_Comment $comment The comment to be trashed.
*/
do_action( 'trash_comment', $comment->comment_ID, $comment );
if ( wp_set_comment_status( $comment, 'trash' ) ) {
delete_comment_meta( $comment->comment_ID, '_wp_trash_meta_status' );
delete_comment_meta( $comment->comment_ID, '_wp_trash_meta_time' );
add_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', $comment->comment_approved );
add_comment_meta( $comment->comment_ID, '_wp_trash_meta_time', time() );
/**
* Fires immediately after a comment is sent to Trash.
*
* @since 2.9.0
* @since 4.9.0 Added the `$comment` parameter.
*
* @param string $comment_id The comment ID as a numeric string.
* @param WP_Comment $comment The trashed comment.
*/
do_action( 'trashed_comment', $comment->comment_ID, $comment );
// For top level 'note' type comments, also trash children.
if ( 'note' === $comment->comment_type && 0 === (int) $comment->comment_parent ) {
$children = $comment->get_children(
array(
'fields' => 'ids',
'status' => 'all',
'type' => 'note',
)
);
$success = true;
foreach ( $children as $child_id ) {
if ( ! wp_trash_comment( $child_id ) ) {
$success = false;
}
}
return $success;
}
return true;
}
return false;
}
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Функция WordPress: restore_current_locale() | 0 | 10 | 26-08-2026 |
| 2 | Функция WordPress: wp_add_crossorigin_attributes() | 0 | 19.09 | 20-08-2026 |
| 3 | Функция WordPress: wp_verify_fast_hash() | 0 | 10 | 23-08-2026 |
| 4 | Функция WordPress: has_translation() | 0 | 10 | 23-08-2026 |
| 5 | Функция WordPress: wp_get_image_alttext() | 0 | 20 | 23-08-2026 |
| 6 | Функция WordPress: wp_unique_id_from_values() | 0 | 10 | 23-08-2026 |
| 7 | Функция WordPress: wp_set_script_module_translations() | 0 | 10 | 23-08-2026 |
| 8 | Функция WordPress: unregister_block_template() | 0 | 10 | 23-08-2026 |
| 9 | Функция WordPress: wp_register_block_metadata_collection() | 0 | 20 | 22-08-2026 |
| 10 | Функция WordPress: wp_prime_network_option_caches() | 0 | 10 | 23-08-2026 |