예제 #1
0
 /**
  * Validates user input when zone-specific options have been saved.
  * @since 2.0
  */
 public function validate($output, $input, $defaults)
 {
     $output['zones'][$this->id]['hide_duplicates'] = ar2_theme_options_validate_checkbox($input['zones'][$this->id]['hide_duplicates']);
     $output['zones'][$this->id]['ignore_sticky'] = ar2_theme_options_validate_checkbox($input['zones'][$this->id]['ignore_sticky']);
     return $output;
 }
 /**
  * Validates user input when section-specific options have been saved.
  * @since 2.0
  */
 public function validate($output, $input, $defaults)
 {
     if (isset($input['opt_type']) && $input['opt_type'] != 'zone-' . $this->zone->id) {
         return $output;
     }
     $output['sections'][$this->id]['enabled'] = ar2_theme_options_validate_checkbox($input['sections'][$this->id]['enabled']);
     $output['sections'][$this->id]['title'] = isset($input['sections'][$this->id]['title']) ? esc_attr($input['sections'][$this->id]['title']) : $defaults['sections'][$this->id]['title'];
     $output['sections'][$this->id]['post_type'] = isset($input['sections'][$this->id]['post_type']) && post_type_exists($input['sections'][$this->id]['post_type']) ? $input['sections'][$this->id]['post_type'] : $defaults['sections'][$this->id]['post_type'];
     $output['sections'][$this->id]['taxonomy'] = isset($input['sections'][$this->id]['taxonomy']) && taxonomy_exists($input['sections'][$this->id]['taxonomy']) ? $input['sections'][$this->id]['taxonomy'] : $defaults['sections'][$this->id]['taxonomy'];
     $output['sections'][$this->id]['terms'] = isset($input['sections'][$this->id]['terms']) ? ar2_theme_options_validate_terms_input($input['sections'][$this->id]['terms']) : $defaults['sections'][$this->id]['terms'];
     $output['sections'][$this->id]['type'] = isset($input['sections'][$this->id]['type']) && in_array($input['sections'][$this->id]['type'], array_keys($this->list_display_types())) ? $input['sections'][$this->id]['type'] : $defaults['sections'][$this->id]['type'];
     if (!$this->settings['use_main_query']) {
         $output['sections'][$this->id]['count'] = isset($input['sections'][$this->id]['count']) && is_numeric($input['sections'][$this->id]['count']) ? absint($input['sections'][$this->id]['count']) : $defaults['sections'][$this->id]['count'];
     }
     return $output;
 }