- added ability to customize custom key sorting type (CHAR, NUMERIC, etc.)

- added ability to customize 'bio' key at the profile header;
- 2.1.3 pre-release;
This commit is contained in:
nikitasinelnikov
2020-01-20 10:39:40 +02:00
parent 03d1aaa162
commit 7841911413
8 changed files with 60 additions and 46 deletions
+1 -4
View File
@@ -41,10 +41,7 @@ Support requests in issues on this repository will be closed on sight.
GNU Version 2 or Any Later Version GNU Version 2 or Any Later Version
## Releases ## Releases
[Official Release Version: 2.1.2](https://github.com/ultimatemember/ultimatemember/releases/tag/2.1.2). [Official Release Version: 2.1.3](https://github.com/ultimatemember/ultimatemember/releases/tag/2.1.3).
## Release Candidate
[Official Release Version: 2.1.3-RC.1](https://github.com/ultimatemember/ultimatemember/releases/tag/2.1.3-rc.1).
## Changelog ## Changelog
[ From v1.0.0 to latest version ](https://wordpress.org/plugins/ultimate-member/changelog/). [ From v1.0.0 to latest version ](https://wordpress.org/plugins/ultimate-member/changelog/).
@@ -608,7 +608,9 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) {
$this->joins[] = "LEFT JOIN {$wpdb->prefix}um_metadata umm_sort ON ( umm_sort.user_id = u.ID AND umm_sort.um_key = '{$sortby}' )"; $this->joins[] = "LEFT JOIN {$wpdb->prefix}um_metadata umm_sort ON ( umm_sort.user_id = u.ID AND umm_sort.um_key = '{$sortby}' )";
$this->sql_order = " ORDER BY CAST( umm_sort.um_value AS CHAR ) {$order} "; $custom_sort_type = apply_filters( 'um_member_directory_custom_sorting_type', 'CHAR', $sortby, $directory_data );
$this->sql_order = " ORDER BY CAST( umm_sort.um_value AS {$custom_sort_type} ) {$order} ";
} elseif ( 'display_name' == $sortby ) { } elseif ( 'display_name' == $sortby ) {
+7 -5
View File
@@ -1178,20 +1178,22 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
if ( $sortby == $directory_data['sortby_custom'] || in_array( $sortby, $custom_sort ) ) { if ( $sortby == $directory_data['sortby_custom'] || in_array( $sortby, $custom_sort ) ) {
$custom_sort_type = apply_filters( 'um_member_directory_custom_sorting_type', 'CHAR', $sortby, $directory_data );
$this->query_args['meta_query'][] = array( $this->query_args['meta_query'][] = array(
'relation' => 'OR', 'relation' => 'OR',
$directory_data['sortby_custom'] => array( $sortby . '_cs' => array(
'key' => $sortby, 'key' => $sortby,
'compare' => 'EXISTS' 'compare' => 'EXISTS',
'type' => $custom_sort_type,
), ),
array( array(
'key' => $sortby, 'key' => $sortby,
'compare' => 'NOT EXISTS' 'compare' => 'NOT EXISTS',
) )
); );
$this->query_args['orderby'] = $sortby; $this->query_args['orderby'] = array( $sortby . '_cs' => 'ASC', 'user_login' => 'ASC' );
$this->query_args['order'] = 'ASC';
} elseif ( 'display_name' == $sortby ) { } elseif ( 'display_name' == $sortby ) {
+11
View File
@@ -41,6 +41,17 @@ if ( ! class_exists( 'um\core\Profile' ) ) {
} }
/**
* @param array $args
*
* @return string
*/
function get_show_bio_key( $args ) {
$key = apply_filters( 'um_profile_bio_key', 'description', $args );
return $key;
}
/** /**
* Delete profile avatar AJAX handler * Delete profile avatar AJAX handler
*/ */
+11 -9
View File
@@ -362,9 +362,9 @@ function um_user_edit_profile( $args ) {
} }
} }
$description_key = UM()->profile()->get_show_bio_key( $args );
if ( isset( $args['submitted']['description'] ) ) { if ( isset( $args['submitted'][ $description_key ] ) ) {
$to_update['description'] = $args['submitted']['description']; $to_update[ $description_key ] = $args['submitted'][ $description_key ];
} }
if ( ! empty( $args['submitted']['role'] ) ) { if ( ! empty( $args['submitted']['role'] ) ) {
@@ -1047,10 +1047,12 @@ function um_profile_header( $args ) {
</div> </div>
<?php } <?php }
if ( UM()->fields()->viewing == true && um_user( 'description' ) && $args['show_bio'] ) { ?> $description_key = UM()->profile()->get_show_bio_key( $args );
if ( UM()->fields()->viewing == true && um_user( $description_key ) && $args['show_bio'] ) { ?>
<div class="um-meta-text"> <div class="um-meta-text">
<?php $description = get_user_meta( um_user( 'ID' ), 'description', true ); <?php $description = get_user_meta( um_user( 'ID' ), $description_key, true );
if ( UM()->options()->get( 'profile_show_html_bio' ) ) { if ( UM()->options()->get( 'profile_show_html_bio' ) ) {
echo make_clickable( wpautop( wp_kses_post( $description ) ) ); echo make_clickable( wpautop( wp_kses_post( $description ) ) );
@@ -1065,13 +1067,13 @@ function um_profile_header( $args ) {
<textarea id="um-meta-bio" <textarea id="um-meta-bio"
data-character-limit="<?php echo esc_attr( UM()->options()->get( 'profile_bio_maxchars' ) ); ?>" data-character-limit="<?php echo esc_attr( UM()->options()->get( 'profile_bio_maxchars' ) ); ?>"
placeholder="<?php esc_attr_e( 'Tell us a bit about yourself...', 'ultimate-member' ); ?>" placeholder="<?php esc_attr_e( 'Tell us a bit about yourself...', 'ultimate-member' ); ?>"
name="<?php echo esc_attr( 'description-' . $args['form_id'] ); ?>" name="<?php echo esc_attr( $description_key . '-' . $args['form_id'] ); ?>"
id="<?php echo esc_attr( 'description-' . $args['form_id'] ); ?>"><?php echo UM()->fields()->field_value( 'description' ) ?></textarea> id="<?php echo esc_attr( $description_key . '-' . $args['form_id'] ); ?>"><?php echo UM()->fields()->field_value( $description_key ) ?></textarea>
<span class="um-meta-bio-character um-right"><span <span class="um-meta-bio-character um-right"><span
class="um-bio-limit"><?php echo UM()->options()->get( 'profile_bio_maxchars' ); ?></span></span> class="um-bio-limit"><?php echo UM()->options()->get( 'profile_bio_maxchars' ); ?></span></span>
<?php if ( UM()->fields()->is_error( 'description' ) ) { <?php if ( UM()->fields()->is_error( $description_key ) ) {
echo UM()->fields()->field_error( UM()->fields()->show_error( 'description' ), true ); echo UM()->fields()->field_error( UM()->fields()->show_error( $description_key ), true );
} ?> } ?>
</div> </div>
+25 -25
View File
@@ -1,8 +1,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Ultimate Member\n" "Project-Id-Version: Ultimate Member\n"
"POT-Creation-Date: 2020-01-16 10:58+0200\n" "POT-Creation-Date: 2020-01-20 10:38+0200\n"
"PO-Revision-Date: 2020-01-16 10:58+0200\n" "PO-Revision-Date: 2020-01-20 10:38+0200\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: en_US\n" "Language: en_US\n"
@@ -4293,8 +4293,8 @@ msgstr ""
#: includes/core/um-actions-profile.php:686 #: includes/core/um-actions-profile.php:686
#: includes/core/um-actions-profile.php:874 #: includes/core/um-actions-profile.php:874
#: includes/core/um-actions-profile.php:907 #: includes/core/um-actions-profile.php:907
#: includes/core/um-actions-profile.php:1252 #: includes/core/um-actions-profile.php:1254
#: includes/core/um-actions-profile.php:1259 #: includes/core/um-actions-profile.php:1261
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
@@ -4658,8 +4658,8 @@ msgid "Register"
msgstr "" msgstr ""
#: includes/class-config.php:135 includes/class-config.php:792 #: includes/class-config.php:135 includes/class-config.php:792
#: includes/core/class-member-directory.php:2108 #: includes/core/class-member-directory.php:2110
#: includes/core/um-actions-profile.php:1258 #: includes/core/um-actions-profile.php:1260
#: includes/core/um-actions-user.php:19 #: includes/core/um-actions-user.php:19
msgid "Logout" msgid "Logout"
msgstr "" msgstr ""
@@ -7172,13 +7172,13 @@ msgstr ""
msgid "Original size" msgid "Original size"
msgstr "" msgstr ""
#: includes/core/class-form.php:62 includes/core/class-profile.php:56 #: includes/core/class-form.php:62 includes/core/class-profile.php:67
#: includes/core/class-profile.php:75 #: includes/core/class-profile.php:86
msgid "You can not edit this user" msgid "You can not edit this user"
msgstr "" msgstr ""
#: includes/core/class-mail.php:615 includes/core/class-password.php:703 #: includes/core/class-mail.php:615 includes/core/class-password.php:703
#: includes/core/class-profile.php:470 #: includes/core/class-profile.php:481
msgid "Your set password" msgid "Your set password"
msgstr "" msgstr ""
@@ -7243,15 +7243,15 @@ msgstr ""
msgid "<strong>Age:</strong>&nbsp;{min_range} - {max_range} years old" msgid "<strong>Age:</strong>&nbsp;{min_range} - {max_range} years old"
msgstr "" msgstr ""
#: includes/core/class-member-directory.php:2053 #: includes/core/class-member-directory.php:2055
#: includes/core/class-member-directory.php:2097 #: includes/core/class-member-directory.php:2099
#: includes/core/um-actions-profile.php:1225 #: includes/core/um-actions-profile.php:1227
#: includes/core/um-actions-profile.php:1256 #: includes/core/um-actions-profile.php:1258
msgid "Edit Profile" msgid "Edit Profile"
msgstr "" msgstr ""
#: includes/core/class-member-directory.php:2103 #: includes/core/class-member-directory.php:2105
#: includes/core/um-actions-profile.php:1257 #: includes/core/um-actions-profile.php:1259
msgid "My Account" msgid "My Account"
msgstr "" msgstr ""
@@ -7313,35 +7313,35 @@ msgstr ""
msgid "https://wordpress.org/support/" msgid "https://wordpress.org/support/"
msgstr "" msgstr ""
#: includes/core/class-profile.php:89 #: includes/core/class-profile.php:100
msgid "Anyone" msgid "Anyone"
msgstr "" msgstr ""
#: includes/core/class-profile.php:90 #: includes/core/class-profile.php:101
msgid "Guests only" msgid "Guests only"
msgstr "" msgstr ""
#: includes/core/class-profile.php:91 #: includes/core/class-profile.php:102
msgid "Members only" msgid "Members only"
msgstr "" msgstr ""
#: includes/core/class-profile.php:92 #: includes/core/class-profile.php:103
msgid "Only the owner" msgid "Only the owner"
msgstr "" msgstr ""
#: includes/core/class-profile.php:93 #: includes/core/class-profile.php:104
msgid "Specific roles" msgid "Specific roles"
msgstr "" msgstr ""
#: includes/core/class-profile.php:130 #: includes/core/class-profile.php:141
msgid "About" msgid "About"
msgstr "" msgstr ""
#: includes/core/class-profile.php:134 #: includes/core/class-profile.php:145
msgid "Posts" msgid "Posts"
msgstr "" msgstr ""
#: includes/core/class-profile.php:138 #: includes/core/class-profile.php:149
msgid "Comments" msgid "Comments"
msgstr "" msgstr ""
@@ -7831,11 +7831,11 @@ msgstr ""
msgid "Remove photo" msgid "Remove photo"
msgstr "" msgstr ""
#: includes/core/um-actions-profile.php:1067 #: includes/core/um-actions-profile.php:1069
msgid "Tell us a bit about yourself..." msgid "Tell us a bit about yourself..."
msgstr "" msgstr ""
#: includes/core/um-actions-profile.php:1082 #: includes/core/um-actions-profile.php:1084
#, php-format #, php-format
msgid "This user account status is %s" msgid "This user account status is %s"
msgstr "" msgstr ""
+1 -1
View File
@@ -7,7 +7,7 @@ Tags: community, member, membership, user-profile, user-registration
Requires PHP: 5.6 Requires PHP: 5.6
Requires at least: 5.0 Requires at least: 5.0
Tested up to: 5.3 Tested up to: 5.3
Stable tag: 2.1.2 Stable tag: 2.1.3
License: GNU Version 2 or Any Later Version License: GNU Version 2 or Any Later Version
License URI: http://www.gnu.org/licenses/gpl-3.0.txt License URI: http://www.gnu.org/licenses/gpl-3.0.txt
+1 -1
View File
@@ -3,7 +3,7 @@
Plugin Name: Ultimate Member Plugin Name: Ultimate Member
Plugin URI: http://ultimatemember.com/ Plugin URI: http://ultimatemember.com/
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
Version: 2.1.3-rc.2 Version: 2.1.3
Author: Ultimate Member Author: Ultimate Member
Author URI: http://ultimatemember.com/ Author URI: http://ultimatemember.com/
Text Domain: ultimate-member Text Domain: ultimate-member