/home/coolpkct/www/websites/alylela.com/wp-content/plugins/dw-question-answer/inc/Autoclosure.php
<?php
if ( !defined( 'ABSPATH' ) ) exit;
class DWQA_Autoclosure {
private $days = 1;
public function __construct() {
global $dwqa_general_settings;
if(isset($dwqa_general_settings['use-auto-closure']) && $dwqa_general_settings['use-auto-closure']){
if(isset($dwqa_general_settings['number-day-auto-closure']) && is_numeric($dwqa_general_settings['number-day-auto-closure']) && $dwqa_general_settings['number-day-auto-closure']>0){
$this->days = $dwqa_general_settings['number-day-auto-closure'];
add_filter( 'cron_schedules', array($this, 'dwqa_add_schedule') );
if (! wp_next_scheduled ( 'auto_closure' )) {
wp_schedule_event(time(), 'half_daily', 'auto_closure');
}
add_action('auto_closure', array($this, 'do_auto_closure'));
}
}else{
wp_clear_scheduled_hook( 'auto_closure' );
}
}
public function do_auto_closure(){
$days = $this->days;
$posts = get_posts(array(
'post_type' => 'dwqa-question',
'date_query' => array(
array(
'column' => 'post_modified_gmt',
'before' => $days.' day ago',
),
),
'meta_query' => array(
array(
'key' => '_dwqa_status',
'value' => 'closed',
'compare' =>'!='
)
)
));
foreach($posts as $value){
update_post_meta( $value->ID, '_dwqa_status', 'closed' );
}
}
public function dwqa_add_schedule( $schedules ) {
// add a 'weekly' schedule to the existing set
/* $schedules['weekly'] = array(
'interval' => 604800,
'display' => __('Once Weekly', 'dw-question-answer')
);
$schedules['monthly'] = array(
'interval' => 2635200,
'display' => __('Once a month', 'dw-question-answer')
);
$schedules['minutely'] = array(
'interval' => 60,
'display' => __('Minutely', 'dw-question-answer')
); */
$schedules['half_daily'] = array(
'interval' => 43200,
'display' => __('Half Daily', 'dw-question-answer')
);
return $schedules;
}
}
?>