shortcodes()->modified_args = "$post_type,$posts_per_page,$offset_n,$author"; UM()->shortcodes()->loop = UM()->query()->make("post_type=$post_type&posts_per_page=$posts_per_page&offset=$offset&author=$author"); UM()->shortcodes()->load_template('profile/posts-single'); } /** * Dynamic load of comments * * @param $args */ function load_comments( $args ) { $array = explode(',', $args ); $post_type = $array[0]; $posts_per_page = $array[1]; $offset = $array[2]; $author = $array[3]; $offset_n = $posts_per_page + $offset; UM()->shortcodes()->modified_args = "$post_type,$posts_per_page,$offset_n,$author"; UM()->shortcodes()->loop = UM()->query()->make("post_type=$post_type&number=$posts_per_page&offset=$offset&user_id=$author"); UM()->shortcodes()->load_template('profile/comments-single'); } /** * Add posts */ function add_posts() { UM()->shortcodes()->load_template( 'profile/posts' ); } /** * Add comments */ function add_comments() { UM()->shortcodes()->load_template( 'profile/comments' ); } /** * Count posts by type * * @param string $user_id * @param string $post_type * * @return int|string */ function count_user_posts_by_type( $user_id= '', $post_type = 'post' ) { global $wpdb; if ( !$user_id ) $user_id = um_user( 'ID' ); if ( !$user_id ) return 0; $where = get_posts_by_author_sql( $post_type, true, $user_id ); $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" ); return $this->pretty_number_formatting( $count ); } /** * Count comments * * @param int|null $user_id * * @return int|string */ function count_user_comments( $user_id = null ) { global $wpdb; if ( !$user_id ) $user_id = um_user('ID'); if ( !$user_id ) return 0; $count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM " . $wpdb->comments. " WHERE user_id = " . $user_id . " AND comment_approved = '1'"); return $this->pretty_number_formatting( $count ); } /** * @param int $count * * @return string */ function pretty_number_formatting( $count ) { /** * UM hook * * @type filter * @title um_pretty_number_formatting * @description Change User Posts count value * @input_vars * [{"var":"$count","type":"int","desc":"Posts Count"}] * @change_log * ["Since: 2.0"] * @usage * * @example * */ return apply_filters( 'um_pretty_number_formatting', $count ); } } }