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: ''

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

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.