BP_Document_Folder_Template::__construct( array $args )
Constructor method.
Description
The arguments passed to this class constructor are of the same format as BP_Document_Folder::get().
See also
- BP_Document_Folder::get(): for a description of the argument structure, as well as default values.
Parameters
- $args
-
(Required) Array of arguments. Supports all arguments from BP_Document_Folder::get(), as well as 'page_arg' and 'include'. Default values for 'per_page' differ from the originating function, and are described below
Source
File: bp-document/classes/class-bp-document-folder-template.php
public function __construct( $args ) { $defaults = array( 'page' => 1, 'per_page' => 20, 'page_arg' => 'acpage', 'max' => false, 'user_id' => false, 'fields' => 'all', 'count_total' => false, 'sort' => false, 'include' => false, 'exclude' => false, 'privacy' => false, 'search_terms' => false, ); $r = wp_parse_args( $args, $defaults ); extract( $r ); $this->pag_arg = sanitize_key( $r['page_arg'] ); $this->pag_page = bp_sanitize_pagination_arg( $this->pag_arg, $r['page'] ); $this->pag_num = bp_sanitize_pagination_arg( 'num', $r['per_page'] ); // Get an array of the logged in user's favorite folder. $this->my_favs = bp_get_user_meta( bp_loggedin_user_id(), 'bp_favorite_folder', true ); // Fetch specific folder items based on ID's. if ( ! empty( $include ) ) { $this->folders = bp_folder_get_specific( array( 'folder_ids' => explode( ',', $include ), 'max' => $max, 'count_total' => $count_total, 'page' => $this->pag_page, 'per_page' => $this->pag_num, 'sort' => $sort, 'user_id' => $user_id, ) ); // Fetch all folder. } else { $this->folders = bp_folder_get( array( 'max' => $max, 'count_total' => $count_total, 'per_page' => $this->pag_num, 'page' => $this->pag_page, 'sort' => $sort, 'search_terms' => $search_terms, 'user_id' => $user_id, 'group_id' => $group_id, 'exclude' => $exclude, 'privacy' => $privacy, ) ); } // The total_folder_count property will be set only if a // 'count_total' query has taken place. if ( ! is_null( $this->folders['total'] ) ) { if ( ! $max || $max >= (int) $this->folders['total'] ) { $this->total_folder_count = (int) $this->folders['total']; } else { $this->total_folder_count = (int) $max; } } $this->has_more_items = $this->folders['has_more_items']; $this->folders = $this->folders['folders']; if ( $max ) { if ( $max >= count( $this->folders ) ) { $this->folder_count = count( $this->folders ); } else { $this->folder_count = (int) $max; } } else { $this->folder_count = count( $this->folders ); } if ( (int) $this->total_folder_count && (int) $this->pag_num ) { $this->pag_links = paginate_links( array( 'base' => add_query_arg( $this->pag_arg, '%#%' ), 'format' => '', 'total' => ceil( (int) $this->total_folder_count / (int) $this->pag_num ), 'current' => (int) $this->pag_page, 'prev_text' => __( '←', 'buddyboss' ), 'next_text' => __( '→', 'buddyboss' ), 'mid_size' => 1, 'add_args' => array(), ) ); } }
Changelog
Version | Description |
---|---|
BuddyBoss 1.4.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.