mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
0c183594b1
Bump plugin version to 2.10.0, update documentation, and adjust URLs and metadata accordingly. This release includes increased minimum PHP and WordPress requirements and addresses security-related issues. Users are strongly advised to update immediately.
296 lines
12 KiB
PHP
296 lines
12 KiB
PHP
<?php
|
|
/**
|
|
* Template for the profile page
|
|
*
|
|
* This template can be overridden by copying it to your-theme/ultimate-member/templates/profile.php
|
|
*
|
|
* Page: "Profile"
|
|
*
|
|
* @version 2.10.0
|
|
*
|
|
* @var string $mode
|
|
* @var int $form_id
|
|
* @var array $args
|
|
*/
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
$description_key = UM()->profile()->get_show_bio_key( $args );
|
|
?>
|
|
<div class="um <?php echo esc_attr( $this->get_class( $mode ) ); ?> um-<?php echo esc_attr( $form_id ); ?> um-role-<?php echo esc_attr( um_user( 'role' ) ); ?>">
|
|
<div class="um-form" data-mode="<?php echo esc_attr( $mode ); ?>" data-form_id="<?php echo esc_attr( $form_id ); ?>">
|
|
<?php
|
|
/**
|
|
* Fires before User Profile header.
|
|
* It's the first hook at User Profile wrapper.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 10 - `um_profile_completeness_show_notice()` displays Profile Completeness notices.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 1.3.x
|
|
* @hook um_profile_before_header
|
|
*
|
|
* @example <caption>Display some content before User Profile.</caption>
|
|
* function my_um_profile_before_header( $args ) {
|
|
* // your code here
|
|
* echo $notice;
|
|
* }
|
|
* add_action( 'um_profile_before_header', 'my_um_profile_before_header' );
|
|
*/
|
|
do_action( 'um_profile_before_header', $args );
|
|
|
|
if ( um_is_on_edit_profile() ) {
|
|
?>
|
|
<form method="post" action="" data-description_key="<?php echo esc_attr( $description_key ); ?>">
|
|
<?php
|
|
}
|
|
/**
|
|
* Fires for displaying User Profile cover area.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 9 - `um_profile_header_cover_area()` displays User Profile cover photo.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 1.3.x
|
|
* @hook um_profile_header_cover_area
|
|
*
|
|
* @example <caption>Display some content before or after User Profile cover.</caption>
|
|
* function my_um_profile_header_cover_area( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_header_cover_area', 'my_um_profile_header_cover_area' );
|
|
*/
|
|
do_action( 'um_profile_header_cover_area', $args );
|
|
/**
|
|
* Fires for displaying User Profile header.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 9 - `um_profile_header()` displays User Profile header.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 1.3.x
|
|
* @hook um_profile_header
|
|
*
|
|
* @example <caption>Display some content before or after User Profile header.</caption>
|
|
* function my_um_profile_header( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_header', 'my_um_profile_header' );
|
|
*/
|
|
do_action( 'um_profile_header', $args );
|
|
/**
|
|
* Filters classes of the User Profile navigation bar.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 10 - `um_followers_profile_navbar_classes()` from Followers extension class.
|
|
* 10 - `profile_navbar_classes()` from Messaging extension class.
|
|
*
|
|
* @param {string} $classes User Profile navigation bar classes.
|
|
*
|
|
* @since 2.0
|
|
* @hook um_profile_navbar_classes
|
|
*
|
|
* @return {string} User Profile navigation bar classes.
|
|
*
|
|
* @example <caption>Adds `my_custom_class` class to the navigation bar on the User Profile page.</caption>
|
|
* function my_um_profile_navbar_classes( $classes ) {
|
|
* // your code here
|
|
* $classes .= ' my_custom_class';
|
|
* echo $classes;
|
|
* }
|
|
* add_filter( 'um_profile_navbar_classes', 'my_um_profile_navbar_classes' );
|
|
*/
|
|
$classes = apply_filters( 'um_profile_navbar_classes', '' );
|
|
?>
|
|
|
|
<div class="um-profile-navbar <?php echo esc_attr( $classes ); ?>">
|
|
<?php
|
|
/**
|
|
* Fires for displaying User Profile navigation bar.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 4 - `um_followers_add_profile_bar()` displays Followers button.
|
|
* 5 - `add_profile_bar()` displays Messaging button.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 1.3.x
|
|
* @hook um_profile_navbar
|
|
*
|
|
* @example <caption>Display some content before or after User Profile navigation bar.</caption>
|
|
* function my_um_profile_navbar( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_navbar', 'my_um_profile_navbar' );
|
|
*/
|
|
do_action( 'um_profile_navbar', $args );
|
|
?>
|
|
<div class="um-clear"></div>
|
|
</div>
|
|
|
|
<?php
|
|
/**
|
|
* Fires for displaying User Profile menu.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 9 - `um_profile_menu()` displays User Profile menu.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 2.0
|
|
* @hook um_profile_menu
|
|
*
|
|
* @example <caption>Display some content before or after User Profile menu.</caption>
|
|
* function my_um_profile_menu( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_menu', 'my_um_profile_menu' );
|
|
*/
|
|
do_action( 'um_profile_menu', $args );
|
|
|
|
if ( um_is_on_edit_profile() || UM()->user()->preview ) {
|
|
$nav = 'main';
|
|
$subnav = UM()->profile()->active_subnav();
|
|
$subnav = ! empty( $subnav ) ? $subnav : 'default';
|
|
?>
|
|
<div class="um-profile-body <?php echo esc_attr( $nav . ' ' . $nav . '-' . $subnav ); ?>">
|
|
<?php
|
|
/**
|
|
* Fires for adding content in User Profile nav menu content tab.
|
|
* $nav profile menu tab key.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 10 - `um_profile_content_main()` displays `About` menu tab's content (v2).
|
|
* 10 - `UM()->frontend()->profile()->about()` displays `About` menu tab's content (v3).
|
|
* 10 - `um_profile_content_followers()` displays `Followers` menu tab's content.
|
|
* 10 - `um_profile_content_following()` displays `Following` menu tab's content.
|
|
* 10 - `um_profile_content_groups_list()` displays `User Groups List` menu tab's content.
|
|
* 10 - `profile_tab_content()` displays `My Jobs` menu tab's content.
|
|
* 10 - `profile_tab_dashboard_content()` displays `My Jobs Dashboard` menu tab's content.
|
|
* 10 - `content_messages()` displays `Messages` menu tab's content.
|
|
* 10 - `um_profile_content_private_content()` displays `Private Content` menu tab's content.
|
|
* 10 - `um_profile_content_{$tab['tabid']}` displays custom Profile Tabs content.
|
|
* 10 - `um_profile_content_reviews()` displays `Reviews` menu tab's content.
|
|
* 10 - `show_wall()` displays `Activity` menu tab's content.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 1.3.x
|
|
* @hook um_profile_content_{$nav}
|
|
*
|
|
* @example <caption>Display some content in User Profile `main` nav content tab.</caption>
|
|
* function my_profile_content_main( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_content_main', 'my_profile_content_main' );
|
|
*/
|
|
do_action( "um_profile_content_$nav", $args );
|
|
/**
|
|
* Fires for adding content in User Profile nav > subnav menu content tab.
|
|
* $nav profile menu tab key.
|
|
* $subnav profile sub-menu tab key.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 10 - `um_bbpress_user_topics()` displays `Topics` submenu of bbPress tab's content.
|
|
* 10 - `um_bbpress_user_replies()` displays `Replies` submenu of bbPress tab's content.
|
|
* 10 - `um_bbpress_user_favorites()` displays `Favorites` submenu of bbPress tab's content.
|
|
* 10 - `um_bbpress_user_subscriptions()` displays `Subscriptions` submenu of bbPress tab's content.
|
|
* 10 - `profile_content_forums_topics()` displays `Topics` submenu of ForumWP tab's content.
|
|
* 10 - `profile_content_forums_replies()` displays `Replies` submenu of ForumWP tab's content.
|
|
* 10 - `profile_content_subscriptions()` displays `Subscriptions` submenu of ForumWP tab's content.
|
|
* 10 - `profile_content_bookmarks()` displays `Bookmarks` submenu of ForumWP tab's content.
|
|
* 10 - `profile_content_likes()` displays `Likes` submenu of ForumWP tab's content.
|
|
* 10 - `um_profile_content_friends_myfriends()` displays `My Friends` submenu of Friends tab's content.
|
|
* 10 - `um_profile_content_friends_friendreqs()` displays `Friends Requests` submenu of Friends tab's content.
|
|
* 10 - `um_profile_content_friends_sentreqs()` displays `Send Friends Requests` submenu of Friends tab's content.
|
|
* 10 - `um_profile_content_badges_my_badges()` displays `My badges` submenu of myCRED tab's content.
|
|
* 10 - `um_profile_content_badges_all_badges()` displays `All badges` submenu of myCRED tab's content.
|
|
* 10 - `get_bookmarks_content()` displays `All bookmarks with folders` submenu of User Bookmarks tab's content.
|
|
* 10 - `get_bookmarks_content_all()` displays `All bookmarks` submenu of User Bookmarks tab's content.
|
|
* 10 - `get_bookmarks_content_users()` displays `All bookmarked users` submenu of User Bookmarks tab's content.
|
|
* 10 - `user_notes_profile_tab()` displays `View Notes` submenu of User Notes tab's content.
|
|
* 10 - `get_add_note_form()` displays `Add Note` submenu of User Notes tab's content.
|
|
* 10 - `get_gallery_content()` displays `Albums` submenu of User Photos tab's content.
|
|
* 10 - `get_gallery_photos_content()` displays `Photos` submenu of User Photos tab's content.
|
|
* 10 - `um_profile_content_purchases()` displays `Purchases` submenu of Woocommerce tab's content.
|
|
* 10 - `um_profile_content_product_reviews()` displays `Product Reviews` submenu of Woocommerce tab's content.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 1.3.x
|
|
* @hook um_profile_content_{$nav}_{$subnav}
|
|
*
|
|
* @example <caption>Display some content in User Profile `main` nav and `step2` subnav content tab.</caption>
|
|
* function my_profile_content_main_step2( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_content_main_step2', 'my_profile_content_main_step2' );
|
|
*/
|
|
do_action( "um_profile_content_{$nav}_$subnav", $args );
|
|
?>
|
|
<div class="clear"></div>
|
|
</div>
|
|
|
|
<?php if ( ! UM()->user()->preview ) { ?>
|
|
|
|
</form>
|
|
|
|
<?php
|
|
}
|
|
} else {
|
|
$menu_enabled = UM()->options()->get( 'profile_menu' );
|
|
$profile_tabs = UM()->profile()->tabs_active();
|
|
|
|
$nav = UM()->profile()->active_tab();
|
|
$subnav = UM()->profile()->active_subnav();
|
|
$subnav = ! empty( $subnav ) ? $subnav : 'default';
|
|
|
|
if ( $menu_enabled || ! empty( $profile_tabs[ $nav ]['hidden'] ) ) {
|
|
?>
|
|
<div class="um-profile-body <?php echo esc_attr( $nav . ' ' . $nav . '-' . $subnav ); ?>">
|
|
|
|
<?php
|
|
// Custom hook to display tabbed content
|
|
/** This action is documented in ultimate-member/templates/profile.php */
|
|
do_action( "um_profile_content_$nav", $args );
|
|
/** This action is documented in ultimate-member/templates/profile.php */
|
|
do_action( "um_profile_content_{$nav}_$subnav", $args );
|
|
?>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
/**
|
|
* Fires for adding content below User Profile menu.
|
|
*
|
|
* Internal Ultimate Member callbacks (Priority -> Callback name -> Excerpt):
|
|
* 99 - `profile_footer_login_form()` displays User Login form related to messaging extension.
|
|
*
|
|
* @param {array} $args User Profile data.
|
|
*
|
|
* @since 2.0
|
|
* @hook um_profile_footer
|
|
*
|
|
* @example <caption>Display some content in User Profile footer.</caption>
|
|
* function my_um_profile_footer( $args ) {
|
|
* // your code here
|
|
* echo $content;
|
|
* }
|
|
* add_action( 'um_profile_footer', 'my_um_profile_footer' );
|
|
*/
|
|
do_action( 'um_profile_footer', $args );
|
|
?>
|
|
</div>
|
|
</div>
|