Описание
Удаляет или помещает в корзину комментарий по указанному ID.
Если корзина отключена, то комментарий будет удален навсегда, второй параметр ($force_delete) становится ненужным.
Функция возвращает true - при удачном удалении и false если удалить не удалось.
Использование
wp_delete_comment ($comment_id, $force_delete);
Параметры
- $comment_id (число) (обязательный)
- ID комментария, который нужно удалить.
По умолчанию: нет - $force_delete (логический)
- Принудительное удаление. Если нужно удалить комментарий не помещая его в корзину, ставим true.
По умолчанию: false
Примеры
1. Удалим комментарий 457 и выведем надпись "комментарий 457 удален!", если удаление удалось:
$id = 457; $tt = wp_delete_comment ($id); if($tt) echo "Комментарий $id удален!";
2. Поместим комментарий 457 в корзину (при условии что корзина не выключена):
$id = 457; $tt = wp_delete_comment ($id, true); if($tt) echo "Комментарий $id помещен в корзину!";
На заметку
- Использует wp_trash_comment(), если корзина включена и второй параметр не установлен в true;
- Использует действие (фильтир) wp_set_comment_status, если коммента помещается в корзину, устанавливается статус 'delete';
- Использует действие (фильтир) deleted_comment, после того как комментарий удален, в случае успешного удаления;
- Использует действие (фильтир) delete_comment, передает ID комментария.
wp_delete_comment()
из файла: /wp-includes/comment.php WP 3.3.2function wp_delete_comment($comment_id, $force_delete = false) {
global $wpdb;
if (!$comment = get_comment($comment_id))
return false;
if ( !$force_delete && EMPTY_TRASH_DAYS && !in_array( wp_get_comment_status($comment_id), array( 'trash', 'spam' ) ) )
return wp_trash_comment($comment_id);
do_action('delete_comment', $comment_id);
// Move children up a level.
$children = $wpdb->get_col( $wpdb->prepare("SELECT comment_ID FROM $wpdb->comments WHERE comment_parent = %d", $comment_id) );
if ( !empty($children) ) {
$wpdb->update($wpdb->comments, array('comment_parent' => $comment->comment_parent), array('comment_parent' => $comment_id));
clean_comment_cache($children);
}
// Delete metadata
$meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->commentmeta WHERE comment_id = %d ", $comment_id ) );
if ( !empty($meta_ids) ) {
do_action( 'delete_commentmeta', $meta_ids );
$in_meta_ids = "'" . implode("', '", $meta_ids) . "'";
$wpdb->query( "DELETE FROM $wpdb->commentmeta WHERE meta_id IN ($in_meta_ids)" );
do_action( 'deleted_commentmeta', $meta_ids );
}
if ( ! $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment_id) ) )
return false;
do_action('deleted_comment', $comment_id);
$post_id = $comment->comment_post_ID;
if ( $post_id && $comment->comment_approved == 1 )
wp_update_comment_count($post_id);
clean_comment_cache($comment_id);
do_action('wp_set_comment_status', $comment_id, 'delete');
wp_transition_comment_status('delete', $comment->comment_approved, $comment);
return true;
}Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.