'post', 'posts_per_page' => 10, 'offset' => 0, 'author' => um_get_requested_user(), 'post_status' => array( 'publish' ), 'um_main_query' => true, 'suppress_filters' => false, ); /** * UM hook * * @type filter * @title um_profile_query_make_posts * @description Some changes of WP_Query Posts Tab * @input_vars * [{"var":"$query_posts","type":"WP_Query","desc":"UM Posts Tab query"}] * @change_log * ["Since: 2.0"] * @usage * * @example * */ $args = apply_filters( 'um_profile_query_make_posts', $args ); $posts = get_posts( $args ); $args['posts_per_page'] = -1; $args['fields'] = 'ids'; unset( $args['offset'] ); $count_posts = get_posts( $args ); if ( ! empty( $count_posts ) && ! is_wp_error( $count_posts ) ) { $count_posts = count( $count_posts ); } UM()->get_template( 'profile/posts.php', '', array( 'posts' => $posts, 'count_posts' => $count_posts ), true ); } /** * Add comments */ function add_comments() { $comments = get_comments( array( 'number' => 10, 'offset' => 0, 'user_id' => um_user( 'ID' ), 'post_status' => array( 'publish' ), 'type__not_in' => apply_filters( 'um_excluded_comment_types', array('') ), ) ); $comments_count = get_comments( array( 'user_id' => um_user( 'ID' ), 'post_status' => array( 'publish' ), 'type__not_in' => apply_filters( 'um_excluded_comment_types', array('') ), 'count' => 1, ) ); UM()->get_template( 'profile/comments.php', '', array( 'comments' => $comments, 'count_comments' => $comments_count ), true ); } /** * Dynamic load of posts * */ function load_posts() { UM()->check_ajax_nonce(); $author = ! empty( $_POST['author'] ) ? absint( $_POST['author'] ) : get_current_user_id(); $page = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 0; $args = array( 'post_type' => 'post', 'posts_per_page' => 10, 'offset' => ( $page - 1 ) * 10, 'author' => $author, 'post_status' => array( 'publish' ), 'um_main_query' => true, 'suppress_filters' => false, ); /** * UM hook * * @type filter * @title um_profile_query_make_posts * @description Some changes of WP_Query Posts Tab * @input_vars * [{"var":"$query_posts","type":"WP_Query","desc":"UM Posts Tab query"}] * @change_log * ["Since: 2.0"] * @usage * * @example * */ $args = apply_filters( 'um_profile_query_make_posts', $args ); $posts = get_posts( $args ); UM()->get_template( 'profile/posts.php', '', array( 'posts' => $posts ), true ); wp_die(); } /** * Dynamic load of comments */ function load_comments() { UM()->check_ajax_nonce(); $user_id = ! empty( $_POST['user_id'] ) ? absint( $_POST['user_id'] ) : get_current_user_id(); $page = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 0; $comments = get_comments( array( 'number' => 10, 'offset' => ( $page - 1 ) * 10, 'user_id' => $user_id, 'post_status' => array('publish'), 'type__not_in' => apply_filters( 'um_excluded_comment_types', array('') ), ) ); UM()->get_template( 'profile/comments.php', '', array( 'comments' => $comments ), true ); wp_die(); } /** * 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 ); } } }