Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Функция WordPress: wp_trash_comment()

Дата публикации: 26-08-2026 02:38:48

Перемещает комментарий в корзину.

Основное содержимое страницы с новостью.

Перемещает комментарий в корзину.

Запоминает прежний статус комментария и время удаления. Эти данные используются при восстановлении через 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(int|WP_Comment) (обязательный)
ID или объект комментария.
Примеры#1 Перемещение комментария в корзину

Проверяем права текущего пользователя и перемещаем комментарий в корзину:

$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.
Код wp_trash_comment() wp trash comment WP 7.1
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()01026-08-2026
2Функция WordPress: wp_add_crossorigin_attributes()019.0920-08-2026
3Функция WordPress: wp_verify_fast_hash()01023-08-2026
4Функция WordPress: has_translation()01023-08-2026
5Функция WordPress: wp_get_image_alttext()02023-08-2026
6Функция WordPress: wp_unique_id_from_values()01023-08-2026
7Функция WordPress: wp_set_script_module_translations()01023-08-2026
8Функция WordPress: unregister_block_template()01023-08-2026
9Функция WordPress: wp_register_block_metadata_collection()02022-08-2026
10Функция WordPress: wp_prime_network_option_caches()01023-08-2026

Классификация: . Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 10. Источник: wp-kama.ru.