bp_core_delete_existing_avatar( array|string $args = '' )
Delete an existing avatar.
Description
Parameters
- $args
-
(Optional) Array of function parameters.
- 'item_id'
(bool|int) ID of the item whose avatar you're deleting. Defaults to the current item of type $object. - 'object'
(string) Object type of the item whose avatar you're deleting. 'user', 'group', 'blog', or custom. Default: 'user'. - 'avatar_dir'
(bool|string) Subdirectory where avatar is located. Default: false, which falls back on the default location corresponding to the $object.
Default value: ''
- 'item_id'
Return
(bool) True on success, false on failure.
Source
File: bp-core/bp-core-avatars.php
function bp_core_delete_existing_avatar( $args = '' ) { $defaults = array( 'item_id' => false, 'object' => 'user', // User OR group OR blog OR custom type (if you use filters). 'avatar_dir' => false ); $args = wp_parse_args( $args, $defaults ); extract( $args, EXTR_SKIP ); /** * Filters whether or not to handle deleting an existing avatar. * * If you want to override this function, make sure you return false. * * @since BuddyPress 2.5.1 * * @param bool $value Whether or not to delete the avatar. * @param array $args { * Array of function parameters. * * @type bool|int $item_id ID of the item whose avatar you're deleting. * Defaults to the current item of type $object. * @type string $object Object type of the item whose avatar you're * deleting. 'user', 'group', 'blog', or custom. * Default: 'user'. * @type bool|string $avatar_dir Subdirectory where avatar is located. * Default: false, which falls back on the default location * corresponding to the $object. * } */ if ( ! apply_filters( 'bp_core_pre_delete_existing_avatar', true, $args ) ) { return true; } if ( empty( $item_id ) ) { if ( 'user' == $object ) $item_id = bp_displayed_user_id(); elseif ( 'group' == $object ) $item_id = buddypress()->groups->current_group->id; elseif ( 'blog' == $object ) $item_id = $current_blog->id; /** This filter is documented in bp-core/bp-core-avatars.php */ $item_id = apply_filters( 'bp_core_avatar_item_id', $item_id, $object ); if ( !$item_id ) return false; } if ( empty( $avatar_dir ) ) { if ( 'user' == $object ) $avatar_dir = 'avatars'; elseif ( 'group' == $object ) $avatar_dir = 'group-avatars'; elseif ( 'blog' == $object ) $avatar_dir = 'blog-avatars'; /** This filter is documented in bp-core/bp-core-avatars.php */ $avatar_dir = apply_filters( 'bp_core_avatar_dir', $avatar_dir, $object ); if ( !$avatar_dir ) return false; } /** This filter is documented in bp-core/bp-core-avatars.php */ $avatar_folder_dir = apply_filters( 'bp_core_avatar_folder_dir', bp_core_avatar_upload_path() . '/' . $avatar_dir . '/' . $item_id, $item_id, $object, $avatar_dir ); if ( !file_exists( $avatar_folder_dir ) ) return false; if ( $av_dir = opendir( $avatar_folder_dir ) ) { while ( false !== ( $avatar_file = readdir($av_dir) ) ) { if ( ( preg_match( "/-bpfull/", $avatar_file ) || preg_match( "/-bpthumb/", $avatar_file ) ) && '.' != $avatar_file && '..' != $avatar_file ) @unlink( $avatar_folder_dir . '/' . $avatar_file ); } } closedir($av_dir); @rmdir( $avatar_folder_dir ); /** * Fires after deleting an existing avatar. * * @since BuddyPress 1.1.0 * * @param array $args Array of arguments used for avatar deletion. */ do_action( 'bp_core_delete_existing_avatar', $args ); return true; }
Changelog
Version | Description |
---|---|
BuddyPress 1.1.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.