Profile::load_more_answers()
Description #
Ajax callback for loading more answers.
Source #
File: addons/profile/profile.php
public function load_more_answers() {
global $answers;
$user_id = ap_sanitize_unslash( 'user_id', 'r' );
$paged = ap_sanitize_unslash( 'current', 'r', 1 ) + 1;
$args['ap_current_user_ignore'] = true;
$args['ignore_selected_answer'] = true;
$args['showposts'] = 10;
$args['author'] = (int) $user_id;
if ( false !== $paged ) {
$args['paged'] = $paged;
}
/**
* Filter authors question list args
*
* @param array $args WP_Query arguments.
*/
$args = apply_filters( 'ap_user_answers_args', $args );
$answers = new \Answers_Query( $args );
anspress()->answers = $answers;
ob_start();
if ( ap_have_answers() ) {
/* Start the Loop */
while ( ap_have_answers() ) :
ap_the_answer();
ap_get_template_part( 'addons/user/answer-item' );
endwhile;
}
$html = ob_get_clean();
// Pagination fix on Ajax load more event.
$paged = $answers->max_num_pages > $paged ? $paged : 0;
ap_ajax_json(
array(
'success' => true,
'element' => '#ap-bp-answers',
'args' => array(
'ap_ajax_action' => 'user_more_answers',
'__nonce' => wp_create_nonce( 'loadmore-answers' ),
'type' => 'answers',
'current' => $paged,
'user_id' => $user_id,
),
'html' => $html,
)
);
}
Expand full source code Collapse full source code View on GitHub: addons/profile/profile.php:407
Add your comment