bp_core_avatar_handle_crop( array|string $args = '' )
Crop an uploaded avatar.
Description
Parameters
- $args
-
(Optional) Array of function parameters.
- 'object'
(string) Object type of the item whose avatar you're handling. 'user', 'group', 'blog', or custom. Default: 'user'. - 'avatar_dir'
(string) Subdirectory where avatar should be stored. Default: 'avatars'. - 'item_id'
(bool|int) ID of the item that the avatar belongs to. - 'original_file'
(bool|string) Absolute path to the original avatar file. - 'crop_w'
(int) Crop width. Default: the global 'full' avatar width, as retrieved by bp_core_avatar_full_width(). - 'crop_h'
(int) Crop height. Default: the global 'full' avatar height, as retrieved by bp_core_avatar_full_height(). - 'crop_x'
(int) The horizontal starting point of the crop. Default: 0. - 'crop_y'
(int) The vertical starting point of the crop. Default: 0.
Default value: ''
- 'object'
Return
(bool) True on success, false on failure.
Source
File: bp-core/bp-core-avatars.php
function bp_core_avatar_handle_crop( $args = '' ) { $r = wp_parse_args( $args, array( 'object' => 'user', 'avatar_dir' => 'avatars', 'item_id' => false, 'original_file' => false, 'crop_w' => bp_core_avatar_full_width(), 'crop_h' => bp_core_avatar_full_height(), 'crop_x' => 0, 'crop_y' => 0 ) ); /** * Filters whether or not to handle cropping. * * If you want to override this function, make sure you return false. * * @since BuddyPress 1.2.4 * * @param bool $value Whether or not to crop. * @param array $r Array of parsed arguments for function. */ if ( ! apply_filters( 'bp_core_pre_avatar_handle_crop', true, $r ) ) { return true; } // Crop the file. $avatar_attachment = new BP_Attachment_Avatar(); $cropped = $avatar_attachment->crop( $r ); // Check for errors. if ( empty( $cropped['full'] ) || empty( $cropped['thumb'] ) || is_wp_error( $cropped['full'] ) || is_wp_error( $cropped['thumb'] ) ) { return false; } 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.