ap_the_comments( mixed $_post = null, array $args = array(), array $single = false )
Description #
Output comment wrapper.
Parameters #
- $_postmixed (Optional) Post ID or object. Default value: null
- $argsarray (Optional) Arguments. Default value: array()
- $singlearray (Optional) Is on single page? Default is
false
. Default value: false
Changelog #
Source #
File: includes/comments.php
function ap_the_comments( $_post = null, $args = array(), $single = false ) { // If comment number is 0 then dont show on single question. if ( $single && ap_opt( 'comment_number' ) < 1 ) { return; } global $comment; $_post = ap_get_post( $_post ); // Check if valid post. if ( ! $_post || ! in_array( $_post->post_type, array( 'question', 'answer' ), true ) ) { echo '<div class="ap-comment-no-perm">' . esc_attr__( 'Not a valid post ID.', 'anspress-question-answer' ) . '</div>'; return; } if ( ! ap_user_can_read_comments( $_post ) ) { echo '<div class="ap-comment-no-perm">' . esc_attr__( 'Sorry, you do not have permission to read comments.', 'anspress-question-answer' ) . '</div>'; return; } if ( 'question' === $_post->post_type && ap_opt( 'disable_comments_on_question' ) ) { return; } if ( 'answer' === $_post->post_type && ap_opt( 'disable_comments_on_answer' ) ) { return; } if ( 0 == get_comments_number( $_post->ID ) ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual if ( ! $single ) { echo '<div class="ap-comment-no-perm">' . esc_attr__( 'No comments found.', 'anspress-question-answer' ) . '</div>'; } return; } $user_id = get_current_user_id(); $paged = (int) max( 1, ap_isset_post_value( 'paged', 1 ) ); $default = array( 'post_id' => $_post->ID, 'order' => 'ASC', 'status' => 'approve', 'number' => $single ? ap_opt( 'comment_number' ) : 99, 'show_more' => true, 'no_found_rows' => false, ); // Always include current user comments. if ( ! empty( $user_id ) && $user_id > 0 ) { $default['include_unapproved'] = array( $user_id ); } if ( ap_user_can_approve_comment() ) { $default['status'] = 'all'; } $args = wp_parse_args( $args, $default ); if ( $paged > 1 ) { $args['offset'] = ap_opt( 'comment_number' ); } $query = new WP_Comment_Query( $args ); if ( 0 == $query->found_comments && ! $single ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual echo '<div class="ap-comment-no-perm">' . esc_attr__( 'No comments found.', 'anspress-question-answer' ) . '</div>'; return; } foreach ( $query->comments as $c ) { $comment = $c; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited ap_get_template_part( 'comment' ); } echo '<div class="ap-comments-footer">'; if ( $query->max_num_pages > 1 && $single ) { echo '<a class="ap-view-comments" href="#/comments/' . (int) $_post->ID . '/all">' . // translators: %s is total comments found. esc_attr( sprintf( __( 'Show %s more comments', 'anspress-question-answer' ), $query->found_comments - ap_opt( 'comment_number' ) ) ) . '</a>'; } echo '</div>'; }
Expand full source code Collapse full source code View on GitHub: includes/comments.php:344
Add your comment