/** * Order fields * @return void * @since 2.0.1 */ private function order_fields() { if (!isset($this->args['fields'])) { return; } $this->args['fields'] = ap_sort_array_by_order($this->args['fields']); }
function ap_get_breadcrumbs() { $current_page = get_query_var('ap_page'); $title = ap_page_title(); $a = array(); $a['base'] = array('title' => ap_opt('base_page_title'), 'link' => ap_base_page_link(), 'order' => 0); if (is_question_tag()) { $a['tag'] = array('title' => __('Tags', 'ap'), 'link' => '', 'order' => 10); } elseif (is_question()) { $a['page'] = array('title' => substr($title, 0, 30) . (strlen($title) > 30 ? __('..', 'ap') : ''), 'link' => get_permalink(get_question_id()), 'order' => 10); } elseif ($current_page != 'base' && $current_page != '') { if ($current_page == 'user') { $a['page'] = array('title' => __('User', 'ap'), 'link' => ap_user_link(ap_get_displayed_user_id()), 'order' => 10); $a['user_page'] = array('title' => substr($title, 0, 30) . (strlen($title) > 30 ? __('..', 'ap') : ''), 'link' => ap_user_link(ap_get_displayed_user_id(), get_query_var('user_page')), 'order' => 10); } else { $a['page'] = array('title' => substr($title, 0, 30) . (strlen($title) > 30 ? __('..', 'ap') : ''), 'link' => ap_get_link_to($current_page), 'order' => 10); } } $a = apply_filters('ap_breadcrumbs', $a); return ap_sort_array_by_order($a); }
/** * 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; }