Answers_Query::__construct( array $args = array() )
Description #
Initialize class
Parameters #
- $argsarray (Optional) Query arguments. Default value: array()
Source #
File: includes/answer-loop.php
public function __construct( $args = array() ) {
global $answers;
$paged = (int) max( 1, get_query_var( 'ap_paged', 1 ) );
$defaults = array(
'question_id' => get_question_id(),
'ap_query' => true,
'ap_current_user_ignore' => false,
'ap_answers_query' => true,
'showposts' => ap_opt( 'answers_per_page' ),
'paged' => $paged,
'only_best_answer' => false,
'ignore_selected_answer' => false,
'post_status' => array( 'publish' ),
'ap_order_by' => ap_opt( 'answers_sort' ),
);
if ( get_query_var( 'answer_id' ) ) {
$defaults['p'] = get_query_var( 'answer_id' );
}
$this->args = wp_parse_args( $args, $defaults );
$this->args['ap_order_by'] = sanitize_title( $this->args['ap_order_by'] );
// Check if user can read private post.
if ( ap_user_can_view_private_post() ) {
$this->args['post_status'][] = 'private_post';
}
// Check if user can read moderate posts.
if ( ap_user_can_view_moderate_post() ) {
$this->args['post_status'][] = 'moderate';
}
// Show trash posts to super admin.
if ( is_super_admin() ) {
$this->args['post_status'][] = 'trash';
}
if ( isset( $this->args['question_id'] ) ) {
$question_id = $this->args['question_id'];
}
if ( ! isset( $this->args['author'] ) && empty( $question_id ) && empty( $this->args['p'] ) ) {
$this->args = array();
} else {
if ( ! empty( $question_id ) ) {
$this->args['post_parent'] = $question_id;
}
$this->args['post_type'] = 'answer';
$args = $this->args;
/**
* Initialize parent class
*/
parent::__construct( $args );
}
}
Expand full source code Collapse full source code View on GitHub: includes/answer-loop.php:42
Add your comment