bp_messages_delete_meta( int $message_id, string|bool $meta_key = false, string|bool $meta_value = false, bool $delete_all = false )

Delete metadata for a message.

Description

If $meta_key is false, this will delete all meta for the message ID.

See also

Parameters

$message_id

(int) (Required) ID of the message to have meta deleted for.

$meta_key

(string|bool) (Optional) Meta key to delete.

Default value: false

$meta_value

(string|bool) (Optional) Meta value to delete.

Default value: false

$delete_all

(bool) (Optional) Whether or not to delete all meta data.

Default value: false

Return

(bool) True on successful delete, false on failure.

Source

File: bp-messages/bp-messages-functions.php

function bp_messages_delete_meta( $message_id, $meta_key = false, $meta_value = false, $delete_all = false ) {
	// Legacy - if no meta_key is passed, delete all for the item.
	if ( empty( $meta_key ) ) {
		global $wpdb;

		$keys = $wpdb->get_col( $wpdb->prepare( "SELECT meta_key FROM {$wpdb->messagemeta} WHERE message_id = %d", $message_id ) );

		// With no meta_key, ignore $delete_all.
		$delete_all = false;
	} else {
		$keys = array( $meta_key );
	}

	$retval = false;

	// No keys, so stop now!
	if ( empty( $keys ) ) {
		return $retval;
	}

	add_filter( 'query', 'bp_filter_metaid_column_name' );

	foreach ( $keys as $key ) {
		$retval = delete_metadata( 'message', $message_id, $key, $meta_value, $delete_all );
	}

	remove_filter( 'query', 'bp_filter_metaid_column_name' );

	return $retval;
}

Changelog

Changelog
Version Description
BuddyPress 2.2.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.