bp_notifications_delete_meta( int $notification_id, string $meta_key = '', string $meta_value = '', bool $delete_all = false )
Delete a meta entry from the DB for a notification item.
Description
Parameters
- $notification_id
-
(Required) ID of the notification item whose metadata is being deleted.
- $meta_key
-
(Optional) The key of the metadata being deleted. If omitted, all metadata associated with the notification item will be deleted.
Default value: ''
- $meta_value
-
(Optional) If present, the metadata will only be deleted if the meta_value matches this parameter.
Default value: ''
- $delete_all
-
(Optional) If true, delete matching metadata entries for all objects, ignoring the specified object_id. Otherwise, only delete matching metadata entries for the specified notification item. Default: false.
Default value: false
Return
(bool) True on success, false on failure.
Source
File: bp-notifications/bp-notifications-functions.php
function bp_notifications_delete_meta( $notification_id, $meta_key = '', $meta_value = '', $delete_all = false ) { // Legacy - if no meta_key is passed, delete all for the item. if ( empty( $meta_key ) ) { $all_meta = bp_notifications_get_meta( $notification_id ); $keys = ! empty( $all_meta ) ? array_keys( $all_meta ) : array(); // With no meta_key, ignore $delete_all. $delete_all = false; } else { $keys = array( $meta_key ); } $retval = true; add_filter( 'query', 'bp_filter_metaid_column_name' ); foreach ( $keys as $key ) { $retval = delete_metadata( 'notification', $notification_id, $key, $meta_value, $delete_all ); } remove_filter( 'query', 'bp_filter_metaid_column_name' ); return $retval; }
Changelog
Version | Description |
---|---|
BuddyPress 2.3.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.