BBP_User_Engagements_Meta
Meta strategy for interfacing with User Engagements
Description Description
Source Source
File: includes/common/engagements.php
class BBP_User_Engagements_Meta extends BBP_User_Engagements_Base { /** * Type of strategy being used. * * @since 2.6.0 bbPress (r6737) * * @var string */ public $type = 'meta'; /** * Add a user id to an object * * @since 2.6.0 bbPress (r6722) * * @param int $object_id The object id * @param int $user_id The user id * @param string $meta_key The relationship key * @param string $meta_type The relationship type (usually 'post') * @param bool $unique Whether meta key should be unique to the object * * @return bool Returns true on success, false on failure */ public function add_user_to_object( $object_id = 0, $user_id = 0, $meta_key = '', $meta_type = 'post', $unique = false ) { return add_metadata( $meta_type, $object_id, $meta_key, $user_id, $unique ); } /** * Remove a user id from an object * * @since 2.6.0 bbPress (r6722) * * @param int $object_id The object id * @param int $user_id The user id * @param string $meta_key The relationship key * @param string $meta_type The relationship type (usually 'post') * * @return bool Returns true on success, false on failure */ public function remove_user_from_object( $object_id = 0, $user_id = 0, $meta_key = '', $meta_type = 'post' ) { return delete_metadata( $meta_type, $object_id, $meta_key, $user_id, false ); } /** * Remove a user id from all objects * * @since 2.6.0 bbPress (r6722) * * @param int $user_id The user id * @param string $meta_key The relationship key * @param string $meta_type The relationship type (usually 'post') * * @return bool Returns true on success, false on failure */ public function remove_user_from_all_objects( $user_id = 0, $meta_key = '', $meta_type = 'post' ) { return delete_metadata( $meta_type, null, $meta_key, $user_id, true ); } /** * Remove an object from all users * * @since 2.6.0 bbPress (r6722) * * @param int $object_id The object id * @param int $user_id The user id * @param string $meta_key The relationship key * @param string $meta_type The relationship type (usually 'post') * * @return bool Returns true on success, false on failure */ public function remove_object_from_all_users( $object_id = 0, $meta_key = '', $meta_type = 'post' ) { return delete_metadata( $meta_type, $object_id, $meta_key, null, false ); } /** * Remove all users from all objects * * @since 2.6.0 bbPress (r6722) * * @param string $meta_key The relationship key * @param string $meta_type The relationship type (usually 'post') * * @return bool Returns true on success, false on failure */ public function remove_all_users_from_all_objects( $meta_key = '', $meta_type = 'post' ) { return delete_metadata( $meta_type, null, $meta_key, null, true ); } /** * Get users of an object * * @since 2.6.0 bbPress (r6722) * * @param int $object_id The object id * @param string $meta_key The key used to index this relationship * @param string $meta_type The type of meta to look in * * @return array Returns ids of users */ public function get_users_for_object( $object_id = 0, $meta_key = '', $meta_type = 'post' ) { return wp_parse_id_list( get_metadata( $meta_type, $object_id, $meta_key, false ) ); } /** * Get the part of the query responsible for JOINing objects to relationships. * * @since 2.6.0 bbPress (r6737) * * @param array $args * @param string $meta_key * @param string $meta_type * * @return array */ public function get_query( $args = array(), $context_key = '', $meta_key = '', $meta_type = 'post' ) { // Backwards compat for pre-2.6.0 if ( is_numeric( $args ) ) { $args = array( 'meta_query' => array( array( 'key' => $meta_key, 'value' => bbp_get_user_id( $args, false, false ), 'compare' => 'NUMERIC' ) ) ); } // Default arguments $defaults = array( 'meta_query' => array( array( 'key' => $meta_key, 'value' => bbp_get_displayed_user_id(), 'compare' => 'NUMERIC' ) ) ); // Parse arguments return bbp_parse_args( $args, $defaults, $context_key ); } }
Changelog Changelog
Version | Description |
---|---|
2.6.0 | Introduced. |
Methods Methods
- add_user_to_object — Add a user id to an object
- get_query — Get the part of the query responsible for JOINing objects to relationships.
- get_users_for_object — Get users of an object
- remove_all_users_from_all_objects — Remove all users from all objects
- remove_object_from_all_users — Remove an object from all users
- remove_user_from_all_objects — Remove a user id from all objects
- remove_user_from_object — Remove a user id from an object