wp_delete_comment()
wp_delete_comment( int|WP_Comment $comment_id, bool $fo…
wp_delete_comment( int|WP_Comment $comment_id, bool $force_delete = false )
清除或删除注释。
Trashes or deletes a comment.
目录锚点:#说明#参数#源码
说明(Description)
除非已禁用垃圾箱、项目已在垃圾箱中或$force_delete为true,否则注释将移动到垃圾箱而不是永久删除。如果评论被批准并且有一个可用的帖子ID,帖子评论计数将被更新。
参数(Parameters)
参数 | 类型 | 说明 |
---|---|---|
$comment_id | (int | WP_Comment) | 注释ID或WP_注释对象。 |
$force_delete | (bool) | 是否绕过垃圾箱并强制删除。默认值为false。 |
源码(Source)
/** * Trashes or deletes a comment. * * The comment is moved to trash instead of permanently deleted unless trash is * disabled, item is already in the trash, or $force_delete is true. * * The post comment count will be updated if the comment was approved and has a * post ID available. * * @since 2.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $comment_id Comment ID * @param bool $force_delete Whether to bypass trash and force deletion. Default is false. * @return bool True on success, false on failure. */ function 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); /** * Fires immediately before a comment is deleted from the database. * * @since 1.2.0 * * @param int $comment_id The 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 ) ); foreach ( $meta_ids as $mid ) delete_metadata_by_mid( 'comment', $mid ); if ( ! $wpdb->delete( $wpdb->comments, array( 'comment_ID' => $comment_id ) ) ) return false; /** * Fires immediately after a comment is deleted from the database. * * @since 2.9.0 * * @param int $comment_id The comment ID. */ 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); /** This action is documented in wp-includes/comment.php */ do_action( 'wp_set_comment_status', $comment_id, 'delete' ); wp_transition_comment_status('delete', $comment->comment_approved, $comment); return true; }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
2.0.0 | wp-includes/comment.php | 20 | 8 |
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!