/** * Filter AnsPress page title for user sub pages * @param string $title Title. * @return string */ public function ap_page_title($title) { if (is_ap_user()) { $active = ap_active_user_page(); $name = ap_user_get_the_display_name(); $my = ap_is_my_profile(); $user_pages = anspress()->user_pages; if ('activity' == $active) { $title = $my ? __('My activity', 'anspress-question-answer') : sprintf(__('%s\'s activity', 'anspress-question-answer'), $name); } elseif ('profile' == $active) { $title = $my ? __('My profile', 'anspress-question-answer') : sprintf(__('%s\'s profile', 'anspress-question-answer'), $name); } elseif ('questions' == $active) { $title = $my ? __('My questions', 'anspress-question-answer') : sprintf(__('%s\'s questions', 'anspress-question-answer'), $name); } elseif ('answers' == $active) { $title = $my ? __('My answers', 'anspress-question-answer') : sprintf(__('%s\'s answers', 'anspress-question-answer'), $name); } elseif ('reputation' == $active) { $title = $my ? __('My reputation', 'anspress-question-answer') : sprintf(__('%s\'s reputation', 'anspress-question-answer'), $name); } elseif ('about' == $active) { $title = $my ? __('About me', 'anspress-question-answer') : sprintf(__('%s', 'anspress-question-answer'), $name); } elseif ('followers' == $active) { $title = $my ? __('My followers', 'anspress-question-answer') : sprintf(__('%s\'s followers', 'anspress-question-answer'), $name); } elseif ('following' == $active) { $title = __('Following', 'anspress-question-answer'); } elseif ('subscription' == $active) { $title = __('My subscriptions', 'anspress-question-answer'); } elseif ('notification' == $active) { $title = __('My notification', 'anspress-question-answer'); } else { $title = $user_pages[$active]['title']; } } return $title; }
?> <div class="ap-user-cover-img" style="background-image:url(<?php echo ap_get_cover_src(); ?> )" data-view="user_cover_<?php ap_displayed_user_id(); ?> "></div> </div> <div class="ap-user-head clearfix"> <div class="ap-user-avatar"> <?php ap_user_the_avatar(150); ?> <?php if (ap_is_my_profile()) { ap_avatar_upload_form(); } ?> </div> <a class="ap-user-name" href="<?php ap_user_the_link(); ?> "><?php ap_user_the_display_name(); ?> </a> <div class="ap-user-mini-status"> <span><?php printf(__('%s Rep.', 'ap'), ap_user_get_the_reputation()); ?>
/** * Get active user page * @return string * @since 2.0.1 */ function ap_active_user_page() { $user_page = sanitize_text_field(get_query_var('user_page')); if (!empty($user_page)) { return $user_page; } return ap_is_my_profile() ? 'activity-feed' : 'about'; }
/** * Get user menu array items * @param boolean|integer $user_id * @return array */ function ap_get_user_menu($user_id = false) { if ($user_id === false) { $user_id = ap_get_displayed_user_id(); } $user_pages = anspress()->user_pages; $menus = array(); $i = 1; foreach ($user_pages as $k => $args) { $link = ap_user_link($user_id, $k); $title = $k == 'notification' ? $args['title'] . ap_get_the_total_unread_notification($user_id, false) : $args['title']; $menus[$k] = array('slug' => $k, 'title' => $title, 'link' => $link, 'order' => 5 + $i, 'show_in_menu' => $args['show_in_menu'], 'public' => $args['public']); $i++; } /** * FILTER: ap_user_menu * filter is applied before showing user menu * @var array * @since unknown */ $menus = apply_filters('ap_user_menu', $menus); $menus = ap_sort_array_by_order($menus); foreach ($menus as $k => $m) { if (!$m['public'] && !ap_is_my_profile()) { unset($menus[$k]); } } return $menus; }
/** * Output user menu * Extract menu from registered user pages * @return void * @since 2.0.1 */ function ap_user_menu($collapse = true, $user_id = false) { if (false === $user_id) { $user_id = ap_get_displayed_user_id(); } $menus = ap_get_user_menu($user_id); foreach ($menus as $k => $m) { if (false === $m['public'] && !ap_is_my_profile()) { unset($menus[$k]); } } $active_user_page = get_query_var('user_page'); $active_user_page = $active_user_page ? $active_user_page : 'about'; if (!empty($menus) && is_array($menus)) { $o = '<ul id="ap-user-menu" class="ap-user-menu ' . ($collapse ? 'ap_collapse_menu' : '') . ' clearfix">'; foreach ($menus as $m) { $class = !empty($m['class']) ? ' ' . $m['class'] : ''; $o .= '<li' . ($active_user_page == $m['slug'] ? ' class="active"' : '') . '><a href="' . $m['link'] . '" class="ap-user-menu-' . $m['slug'] . $class . '">' . $m['title'] . '</a></li>'; } if ($collapse) { $o .= '<li class="ap-user-menu-more ap-dropdown"><a href="#" class="ap-dropdown-toggle">' . __('More', 'ap') . ap_icon('chevron-down', true) . '</a><ul class="ap-dropdown-menu"></ul></li>'; } $o .= '</ul>'; echo $o; } }