Version Description
- Released 2018-07-11
- Support for AMP avatar has been added
- Two REST API endpoints have been added to facilitate better programatic avatar selection
Download this release
Release Info
| Developer | ronalfy |
| Plugin | |
| Version | 1.5.0 |
| Comparing to | |
| See all releases | |
Code changes from version 1.4.3 to 1.5.0
- metronet-profile-picture.php +146 -23
- readme.txt +13 -31
metronet-profile-picture.php
CHANGED
|
@@ -4,7 +4,7 @@ Plugin Name: User Profile Picture
|
|
| 4 |
Plugin URI: http://wordpress.org/extend/plugins/metronet-profile-picture/
|
| 5 |
Description: Use the native WP uploader on your user profile page.
|
| 6 |
Author: Ronald Huereca
|
| 7 |
-
Version: 1.
|
| 8 |
Requires at least: 3.5
|
| 9 |
Author URI: https://www.mediaron.com
|
| 10 |
Contributors: ronalfy
|
|
@@ -60,6 +60,7 @@ class Metronet_Profile_Picture {
|
|
| 60 |
|
| 61 |
//User Avatar override
|
| 62 |
add_filter( 'get_avatar', array( &$this, 'avatar_override' ), 10, 6 );
|
|
|
|
| 63 |
|
| 64 |
//Rest API
|
| 65 |
add_action( 'rest_api_init', array( $this, 'rest_api_register' ) );
|
|
@@ -67,7 +68,7 @@ class Metronet_Profile_Picture {
|
|
| 67 |
//Avatar check overridden - Can be overridden using a higher priority
|
| 68 |
add_filter( 'mpp_hide_avatar_override', '__return_true', 5 );
|
| 69 |
} //end constructor
|
| 70 |
-
|
| 71 |
/**
|
| 72 |
* ajax_add_thumbnail()
|
| 73 |
*
|
|
@@ -221,6 +222,51 @@ class Metronet_Profile_Picture {
|
|
| 221 |
return $custom_avatar;
|
| 222 |
} //end avatar_override
|
| 223 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 224 |
/**
|
| 225 |
* get_plugin_dir()
|
| 226 |
*
|
|
@@ -328,7 +374,7 @@ class Metronet_Profile_Picture {
|
|
| 328 |
* Initializes plugin localization, post types, updaters, plugin info, and adds actions/filters
|
| 329 |
*
|
| 330 |
*/
|
| 331 |
-
function init() {
|
| 332 |
|
| 333 |
add_theme_support( 'post-thumbnails' ); //This should be part of the theme, but the plugin registers it just in case.
|
| 334 |
//Register post types
|
|
@@ -344,6 +390,9 @@ class Metronet_Profile_Picture {
|
|
| 344 |
'supports' => array( 'thumbnail' )
|
| 345 |
);
|
| 346 |
register_post_type( 'mt_pp', $post_type_args );
|
|
|
|
|
|
|
|
|
|
| 347 |
|
| 348 |
}//end function init
|
| 349 |
|
|
@@ -488,6 +537,22 @@ class Metronet_Profile_Picture {
|
|
| 488 |
* Registers REST API endpoint
|
| 489 |
**/
|
| 490 |
public function rest_api_register() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 491 |
register_rest_route(
|
| 492 |
'mpp/v1',
|
| 493 |
'/user/(?P<id>\d+)',
|
|
@@ -504,33 +569,92 @@ class Metronet_Profile_Picture {
|
|
| 504 |
);
|
| 505 |
}
|
| 506 |
|
| 507 |
-
|
| 508 |
-
|
| 509 |
-
|
| 510 |
-
|
| 511 |
-
|
| 512 |
-
|
| 513 |
-
$user_id = $data[ 'id' ];
|
| 514 |
-
$user = get_user_by( 'id', $user_id );
|
| 515 |
-
if ( ! $user ) {
|
| 516 |
-
return new WP_Error( 'mpp_no_user', __( 'User not found.', 'metronet-profile-picture' ), array( 'status' => 404 ) );
|
| 517 |
}
|
| 518 |
|
| 519 |
-
|
| 520 |
-
|
| 521 |
-
$post_thumbnail_id = get_post_thumbnail_id( $profile_post_id );
|
| 522 |
-
if ( ! $post_thumbnail_id ) {
|
| 523 |
-
return new WP_Error( 'mpp_no_profile_picture', __( 'Profile picture not found.', 'metronet-profile-picture' ), array( 'status' => 404 ) );
|
| 524 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 525 |
|
| 526 |
-
|
| 527 |
-
|
|
|
|
| 528 |
|
| 529 |
return array(
|
| 530 |
-
'
|
| 531 |
-
'
|
|
|
|
|
|
|
| 532 |
);
|
| 533 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 534 |
|
| 535 |
/**
|
| 536 |
* rest_api_validate()
|
|
@@ -630,4 +754,3 @@ function mt_profile_img( $user_id, $args = array() ) {
|
|
| 630 |
return $post_thumbnail;
|
| 631 |
}
|
| 632 |
} //end mt_profile_img
|
| 633 |
-
?>
|
| 4 |
Plugin URI: http://wordpress.org/extend/plugins/metronet-profile-picture/
|
| 5 |
Description: Use the native WP uploader on your user profile page.
|
| 6 |
Author: Ronald Huereca
|
| 7 |
+
Version: 1.5.0
|
| 8 |
Requires at least: 3.5
|
| 9 |
Author URI: https://www.mediaron.com
|
| 10 |
Contributors: ronalfy
|
| 60 |
|
| 61 |
//User Avatar override
|
| 62 |
add_filter( 'get_avatar', array( &$this, 'avatar_override' ), 10, 6 );
|
| 63 |
+
add_filter( 'pre_get_avatar_data', array( $this, 'pre_avatar_override' ), 10, 2 );
|
| 64 |
|
| 65 |
//Rest API
|
| 66 |
add_action( 'rest_api_init', array( $this, 'rest_api_register' ) );
|
| 68 |
//Avatar check overridden - Can be overridden using a higher priority
|
| 69 |
add_filter( 'mpp_hide_avatar_override', '__return_true', 5 );
|
| 70 |
} //end constructor
|
| 71 |
+
|
| 72 |
/**
|
| 73 |
* ajax_add_thumbnail()
|
| 74 |
*
|
| 222 |
return $custom_avatar;
|
| 223 |
} //end avatar_override
|
| 224 |
|
| 225 |
+
/**
|
| 226 |
+
* pre_avatar_override()
|
| 227 |
+
*
|
| 228 |
+
* Overrides an avatar with a profile image
|
| 229 |
+
*
|
| 230 |
+
* @param array $args Arguments to determine the avatar dimensions
|
| 231 |
+
* @param mixed $id_or_email
|
| 232 |
+
* @return array $args Overridden URL or default if none can be found
|
| 233 |
+
**/
|
| 234 |
+
public function pre_avatar_override( $args, $id_or_email ) {
|
| 235 |
+
|
| 236 |
+
//Get user data
|
| 237 |
+
if ( is_numeric( $id_or_email ) ) {
|
| 238 |
+
$user = get_user_by( 'id', ( int )$id_or_email );
|
| 239 |
+
} elseif( is_object( $id_or_email ) ) {
|
| 240 |
+
$comment = $id_or_email;
|
| 241 |
+
if ( empty( $comment->user_id ) ) {
|
| 242 |
+
$user = get_user_by( 'id', $comment->user_id );
|
| 243 |
+
} else {
|
| 244 |
+
$user = get_user_by( 'email', $comment->comment_author_email );
|
| 245 |
+
}
|
| 246 |
+
if ( !$user ) return $args;
|
| 247 |
+
} elseif( is_string( $id_or_email ) ) {
|
| 248 |
+
$user = get_user_by( 'email', $id_or_email );
|
| 249 |
+
} else {
|
| 250 |
+
return $args;
|
| 251 |
+
}
|
| 252 |
+
if ( ! $user ) return $args;
|
| 253 |
+
$user_id = $user->ID;
|
| 254 |
+
|
| 255 |
+
// Get the post the user is attached to
|
| 256 |
+
$size = $args[ 'size' ];
|
| 257 |
+
|
| 258 |
+
$profile_post_id = absint( get_user_option( 'metronet_post_id', $user_id ) );
|
| 259 |
+
$post_thumbnail_id = get_post_thumbnail_id( $profile_post_id );
|
| 260 |
+
|
| 261 |
+
// Attempt to get the image in the right size
|
| 262 |
+
$avatar_image = get_the_post_thumbnail_url( $profile_post_id, array( $size, $size ) );
|
| 263 |
+
if ( empty( $avatar_image ) ) {
|
| 264 |
+
return $args;
|
| 265 |
+
}
|
| 266 |
+
$args[ 'url' ] = $avatar_image;
|
| 267 |
+
return $args;
|
| 268 |
+
}
|
| 269 |
+
|
| 270 |
/**
|
| 271 |
* get_plugin_dir()
|
| 272 |
*
|
| 374 |
* Initializes plugin localization, post types, updaters, plugin info, and adds actions/filters
|
| 375 |
*
|
| 376 |
*/
|
| 377 |
+
public function init() {
|
| 378 |
|
| 379 |
add_theme_support( 'post-thumbnails' ); //This should be part of the theme, but the plugin registers it just in case.
|
| 380 |
//Register post types
|
| 390 |
'supports' => array( 'thumbnail' )
|
| 391 |
);
|
| 392 |
register_post_type( 'mt_pp', $post_type_args );
|
| 393 |
+
add_image_size( 'profile_24', 24, 24, true );
|
| 394 |
+
add_image_size( 'profile_48', 48, 48, true );
|
| 395 |
+
add_image_size( 'profile_96', 96, 96, true );
|
| 396 |
|
| 397 |
}//end function init
|
| 398 |
|
| 537 |
* Registers REST API endpoint
|
| 538 |
**/
|
| 539 |
public function rest_api_register() {
|
| 540 |
+
register_rest_field(
|
| 541 |
+
'user',
|
| 542 |
+
'mpp_avatar',
|
| 543 |
+
array(
|
| 544 |
+
'get_callback' => array( $this, 'rest_api_add_profile_to_user' )
|
| 545 |
+
)
|
| 546 |
+
);
|
| 547 |
+
register_rest_route(
|
| 548 |
+
'mpp/v2',
|
| 549 |
+
'/profile-image/me',
|
| 550 |
+
array(
|
| 551 |
+
'methods' => 'POST',
|
| 552 |
+
'callback' => array( $this, 'rest_api_put_profile' )
|
| 553 |
+
)
|
| 554 |
+
);
|
| 555 |
+
// keep it for backward compatibility
|
| 556 |
register_rest_route(
|
| 557 |
'mpp/v1',
|
| 558 |
'/user/(?P<id>\d+)',
|
| 569 |
);
|
| 570 |
}
|
| 571 |
|
| 572 |
+
public function rest_api_put_profile( $request ) {
|
| 573 |
+
|
| 574 |
+
$user_id = get_current_user_id();
|
| 575 |
+
$media_id = (int) $request['media_id'];
|
| 576 |
+
if ( ! current_user_can( 'upload_files' ) ) {
|
| 577 |
+
return new WP_Error( 'mpp_insufficient_privs', __( 'You must be able to upload files.', 'metronet-profile-picture' ), array( 'status' => 403 ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
| 578 |
}
|
| 579 |
|
| 580 |
+
if ( ! $user_id ) {
|
| 581 |
+
return new WP_Error( 'mpp_no_user', __( 'User not found.', 'metronet-profile-picture' ), array( 'status' => 403 ) );
|
|
|
|
|
|
|
|
|
|
| 582 |
}
|
| 583 |
+
$is_post_owner = ( $user_id == get_post($media_id) ->post_author ) ? true : false ;
|
| 584 |
+
if ( ! $is_post_owner ) {
|
| 585 |
+
return new WP_Error( 'mpp_not_owner', __( 'User not owner.', 'metronet-profile-picture' ), array( 'status' => 403 ) );
|
| 586 |
+
}
|
| 587 |
+
|
| 588 |
+
$post_id = $this->get_post_id( $user_id );
|
| 589 |
+
//Save user meta
|
| 590 |
+
update_user_option( $user_id, 'metronet_post_id', $post_id );
|
| 591 |
+
update_user_option( $user_id, 'metronet_image_id', $media_id ); //Added via this thread (Props Solinx) - https://wordpress.org/support/topic/storing-image-id-directly-as-user-meta-data
|
| 592 |
|
| 593 |
+
set_post_thumbnail( $post_id, $media_id );
|
| 594 |
+
|
| 595 |
+
$attachment_url = wp_get_attachment_url( $media_id );
|
| 596 |
|
| 597 |
return array(
|
| 598 |
+
'24' => wp_get_attachment_image_url( $media_id, 'profile_24', false, '' ),
|
| 599 |
+
'48' => wp_get_attachment_image_url( $media_id, 'profile_48', false, '' ),
|
| 600 |
+
'96' => wp_get_attachment_image_url( $media_id, 'profile_96', false, '' ),
|
| 601 |
+
'full'=> $attachment_url
|
| 602 |
);
|
| 603 |
}
|
| 604 |
+
/**
|
| 605 |
+
* rest_api_get_profile()
|
| 606 |
+
*
|
| 607 |
+
* Returns an attachment image ID and profile image if available
|
| 608 |
+
**/
|
| 609 |
+
public function rest_api_add_profile_to_user( $object, $field_name, $request ) {
|
| 610 |
+
$user_id = $object[ 'id' ];
|
| 611 |
+
$user = get_user_by( 'id', $user_id );
|
| 612 |
+
if ( ! $user ) {
|
| 613 |
+
return new WP_Error( 'mpp_no_user', __( 'User not found.', 'metronet-profile-picture' ), array( 'status' => 404 ) );
|
| 614 |
+
}
|
| 615 |
+
|
| 616 |
+
// No capability check here because we're just returning user profile data
|
| 617 |
+
|
| 618 |
+
//Get attachment ID
|
| 619 |
+
$profile_post_id = absint( get_user_option( 'metronet_post_id', $user_id ) );
|
| 620 |
+
$post_thumbnail_id = get_post_thumbnail_id( $profile_post_id );
|
| 621 |
+
if ( ! $post_thumbnail_id ) {
|
| 622 |
+
return new WP_Error( 'mpp_no_profile_picture', __( 'Profile picture not found.', 'metronet-profile-picture' ), array( 'status' => 404 ) );
|
| 623 |
+
}
|
| 624 |
+
|
| 625 |
+
//Get attachment URL
|
| 626 |
+
$attachment_url = wp_get_attachment_url( $post_thumbnail_id );
|
| 627 |
+
|
| 628 |
+
return array(
|
| 629 |
+
'24' => wp_get_attachment_image_url( $post_thumbnail_id, 'profile_24', false, '' ),
|
| 630 |
+
'48' => wp_get_attachment_image_url( $post_thumbnail_id, 'profile_48', false, '' ),
|
| 631 |
+
'96' => wp_get_attachment_image_url( $post_thumbnail_id, 'profile_96', false, '' ),
|
| 632 |
+
'full'=> $attachment_url
|
| 633 |
+
);
|
| 634 |
+
}
|
| 635 |
+
|
| 636 |
+
public function rest_api_get_profile( $data ) {
|
| 637 |
+
$user_id = $data[ 'id' ];
|
| 638 |
+
$user = get_user_by( 'id', $user_id );
|
| 639 |
+
if ( ! $user ) {
|
| 640 |
+
return new WP_Error( 'mpp_no_user', __( 'User not found.', 'metronet-profile-picture' ), array( 'status' => 404 ) );
|
| 641 |
+
}
|
| 642 |
+
|
| 643 |
+
//Get attachment ID
|
| 644 |
+
$profile_post_id = absint( get_user_option( 'metronet_post_id', $user_id ) );
|
| 645 |
+
$post_thumbnail_id = get_post_thumbnail_id( $profile_post_id );
|
| 646 |
+
if ( ! $post_thumbnail_id ) {
|
| 647 |
+
return new WP_Error( 'mpp_no_profile_picture', __( 'Profile picture not found.', 'metronet-profile-picture' ), array( 'status' => 404 ) );
|
| 648 |
+
}
|
| 649 |
+
|
| 650 |
+
//Get attachment URL
|
| 651 |
+
$attachment_url = wp_get_attachment_url( $post_thumbnail_id );
|
| 652 |
+
|
| 653 |
+
return array(
|
| 654 |
+
'attachment_id' => $post_thumbnail_id,
|
| 655 |
+
'attachment_url' => $attachment_url
|
| 656 |
+
);
|
| 657 |
+
}
|
| 658 |
|
| 659 |
/**
|
| 660 |
* rest_api_validate()
|
| 754 |
return $post_thumbnail;
|
| 755 |
}
|
| 756 |
} //end mt_profile_img
|
|
|
readme.txt
CHANGED
|
@@ -3,12 +3,12 @@ Contributors: ronalfy
|
|
| 3 |
Tags: users, user, user profile
|
| 4 |
Requires at least: 3.5
|
| 5 |
Tested up to: 4.9
|
| 6 |
-
Stable tag: 1.
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
Donate link: https://mediaron.com/contribute/
|
| 10 |
|
| 11 |
-
Set a custom profile image for a user using the standard WordPress media upload tool.
|
| 12 |
== Description ==
|
| 13 |
|
| 14 |
Set or remove a custom profile image for a user using the standard WordPress media upload tool.
|
|
@@ -17,18 +17,13 @@ Users must have the ability to upload images (typically author role or greater).
|
|
| 17 |
|
| 18 |
A template tag is supplied for outputting to a theme and the option to override a user's default avatar is also available.
|
| 19 |
|
| 20 |
-
<
|
| 21 |
-
|
| 22 |
-
* Leave a star rating
|
| 23 |
-
* <a href="https://translate.wordpress.org/projects/wp-plugins/metronet-profile-picture">Contribute a translation</a>
|
| 24 |
-
* <a href="https://github.com/ronalfy/user-profile-picture">Contribute some code</a>
|
| 25 |
|
| 26 |
== Installation ==
|
| 27 |
|
| 28 |
1. Upload `metronet-profile-picture` folder to the `/wp-content/plugins/` directory
|
| 29 |
2. Activate the plugin through the 'Plugins' menu in WordPress
|
| 30 |
3. Place `<?php mt_profile_img() ?>` in your templates (arguments and usage are below)
|
| 31 |
-
4. Use the "Override Avatar" function to change your default avatar.
|
| 32 |
|
| 33 |
Arguments:
|
| 34 |
|
|
@@ -59,29 +54,10 @@ if (function_exists ( 'mt_profile_img' ) ) {
|
|
| 59 |
}
|
| 60 |
?>
|
| 61 |
`
|
| 62 |
-
View the code on <a href="
|
| 63 |
-
|
| 64 |
-
The `mt_profile_img` function internally uses the <a href="http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail">get_the_post_thumbnail</a> function to retrieve the profile image.
|
| 65 |
-
|
| 66 |
-
Optionally, if you choose the "Override Avatar" function, you can use <a href="http://codex.wordpress.org/Function_Reference/get_avatar">get_avatar</a> to retrieve the profile image.
|
| 67 |
-
|
| 68 |
-
If you want the "Override Avatar" checkbox to be checked by default, drop this into your theme's `functions.php` file or <a href="http://www.wpbeginner.com/beginners-guide/what-why-and-how-tos-of-creating-a-site-specific-wordpress-plugin/">Site-specific plugin</a>:
|
| 69 |
-
|
| 70 |
-
`add_filter( 'mpp_avatar_override', '__return_true' );`
|
| 71 |
-
|
| 72 |
-
If you want to hide the "Override Avatar" checkbox, use this filter (the override functionality will be enabled by default):
|
| 73 |
-
`add_filter( 'mpp_hide_avatar_override', '__return_true' );`
|
| 74 |
|
| 75 |
The REST API is currently supported for versions of WordPress 4.4 and up.
|
| 76 |
|
| 77 |
-
The endpoint is: `http://www.yourdomain.com/wp-json/mpp/v1/user/{user_id}`
|
| 78 |
-
|
| 79 |
-
If a profile picture is found, it'll return JSON as follows:
|
| 80 |
-
|
| 81 |
-
`
|
| 82 |
-
{"attachment_id":"3638","attachment_url":"http:\/\/localhost\/ronalfy\/wp-content\/uploads\/2015\/12\/Leaderboard-All-Time.png"}
|
| 83 |
-
`
|
| 84 |
-
|
| 85 |
== Frequently Asked Questions ==
|
| 86 |
|
| 87 |
= How do you set a user profile image? =
|
|
@@ -89,15 +65,13 @@ If a profile picture is found, it'll return JSON as follows:
|
|
| 89 |
1. Visit the profile page you would like to edit.
|
| 90 |
2. Click on the profile picture to add, edit, or remove the profile picture.
|
| 91 |
|
| 92 |
-
To override an avatar, select the "Override Avatar?" checkbox and save the profile page.
|
| 93 |
-
|
| 94 |
= What role does a user have to be to set a profile image? =
|
| 95 |
|
| 96 |
Author or greater.
|
| 97 |
|
| 98 |
= How do I create specific thumbnail sizes? =
|
| 99 |
|
| 100 |
-
|
| 101 |
|
| 102 |
= The image is cropped wrong. How do I fix this? =
|
| 103 |
|
|
@@ -114,6 +88,11 @@ Yes, but you'll have to set a new profile image per site. This is currently a l
|
|
| 114 |
|
| 115 |
== Changelog ==
|
| 116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
= 1.4.3 =
|
| 118 |
* Released 2016-09-24
|
| 119 |
* Bug fix: Post featured image is being shown as user's profile picture when no avatar is selected.
|
|
@@ -227,6 +206,9 @@ Yes, but you'll have to set a new profile image per site. This is currently a l
|
|
| 227 |
|
| 228 |
== Upgrade Notice ==
|
| 229 |
|
|
|
|
|
|
|
|
|
|
| 230 |
= 1.4.3 =
|
| 231 |
Bug fix: Post featured image is being shown as user's profile picture when no avatar is selected.
|
| 232 |
|
| 3 |
Tags: users, user, user profile
|
| 4 |
Requires at least: 3.5
|
| 5 |
Tested up to: 4.9
|
| 6 |
+
Stable tag: 1.5
|
| 7 |
License: GPLv2 or later
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 9 |
Donate link: https://mediaron.com/contribute/
|
| 10 |
|
| 11 |
+
Set a custom profile image (avatar) for a user using the standard WordPress media upload tool.
|
| 12 |
== Description ==
|
| 13 |
|
| 14 |
Set or remove a custom profile image for a user using the standard WordPress media upload tool.
|
| 17 |
|
| 18 |
A template tag is supplied for outputting to a theme and the option to override a user's default avatar is also available.
|
| 19 |
|
| 20 |
+
See the documentation on <a href="https://github.com/ronalfy/user-profile-picture">GitHub</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
|
| 22 |
== Installation ==
|
| 23 |
|
| 24 |
1. Upload `metronet-profile-picture` folder to the `/wp-content/plugins/` directory
|
| 25 |
2. Activate the plugin through the 'Plugins' menu in WordPress
|
| 26 |
3. Place `<?php mt_profile_img() ?>` in your templates (arguments and usage are below)
|
|
|
|
| 27 |
|
| 28 |
Arguments:
|
| 29 |
|
| 54 |
}
|
| 55 |
?>
|
| 56 |
`
|
| 57 |
+
View the code on <a href="https://github.com/ronalfy/user-profile-picture">GitHub</a>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
|
| 59 |
The REST API is currently supported for versions of WordPress 4.4 and up.
|
| 60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
== Frequently Asked Questions ==
|
| 62 |
|
| 63 |
= How do you set a user profile image? =
|
| 65 |
1. Visit the profile page you would like to edit.
|
| 66 |
2. Click on the profile picture to add, edit, or remove the profile picture.
|
| 67 |
|
|
|
|
|
|
|
| 68 |
= What role does a user have to be to set a profile image? =
|
| 69 |
|
| 70 |
Author or greater.
|
| 71 |
|
| 72 |
= How do I create specific thumbnail sizes? =
|
| 73 |
|
| 74 |
+
As of 1.5, three image sizes are created: profile_24, profile_48, and profile_96. You are not limited to these sizes, however.
|
| 75 |
|
| 76 |
= The image is cropped wrong. How do I fix this? =
|
| 77 |
|
| 88 |
|
| 89 |
== Changelog ==
|
| 90 |
|
| 91 |
+
= 1.5.0 =
|
| 92 |
+
* Released 2018-07-11
|
| 93 |
+
* Support for AMP avatar has been added
|
| 94 |
+
* Two REST API endpoints have been added to facilitate better programatic avatar selection
|
| 95 |
+
|
| 96 |
= 1.4.3 =
|
| 97 |
* Released 2016-09-24
|
| 98 |
* Bug fix: Post featured image is being shown as user's profile picture when no avatar is selected.
|
| 206 |
|
| 207 |
== Upgrade Notice ==
|
| 208 |
|
| 209 |
+
= 1.5.0 =
|
| 210 |
+
AMP now supported. Two REST API Endpoints added.
|
| 211 |
+
|
| 212 |
= 1.4.3 =
|
| 213 |
Bug fix: Post featured image is being shown as user's profile picture when no avatar is selected.
|
| 214 |
|
