Move skip setting to main section

This commit is contained in:
Robin Cornett
2016-03-31 12:38:55 -04:00
parent f70e3d9f6b
commit 4223fcb55b
2 changed files with 31 additions and 10 deletions
@@ -118,6 +118,26 @@ class Display_Featured_Image_Genesis_Helper {
return $setting;
}
/**
* Build a checkbox array.
* @param $args
*/
public function do_checkbox_array( $args ) {
$built_in = array( 'post', 'page' );
$post_types = $this->get_content_types();
$post_types = array_merge( $built_in, $post_types );
foreach ( $post_types as $post_type ) {
$object = get_post_type_object( $post_type );
$type_args = array(
'setting' => "{$args['setting']}][{$post_type}",
'label' => $object->label,
'setting_name' => $args['setting'],
'name' => $post_type,
);
$this->do_checkbox( $type_args );
}
}
/**
* Generic callback to display a field description.
* @param string $args setting name used to identify description callback
@@ -209,6 +209,13 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen
'section' => 'main',
'args' => array( 'setting' => 'thumbnails', 'label' => __( 'Use term/post type fallback images for content archives?', 'display-featured-image-genesis' ) ),
),
array(
'id' => 'skip',
'title' => __( 'Skip Content Types', 'display-featured-image-genesis' ),
'callback' => 'do_checkbox_array',
'section' => 'main',
'args' => array( 'setting' => 'skip' ),
),
array(
'id' => 'post_types][search',
'title' => __( 'Search Results', 'display-featured-image-genesis' ),
@@ -325,20 +332,15 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen
}
if ( is_object( $args['post_type'] ) ) {
$skip_args = array(
'setting' => "skip][{$post_type}",
'label' => sprintf( __( 'Never show a featured image for %s.', 'display-featured-image-genesis' ), esc_attr( $args['post_type']->label ) ),
'setting_name' => 'skip',
'name' => $post_type,
);
$this->do_checkbox( $skip_args );
$fallback_args = array(
'setting' => "fallback][{$post_type}",
'label' => sprintf( __( 'Always use a fallback image for %s.', 'display-featured-image-genesis' ), esc_attr( $args['post_type']->label ) ),
'setting_name' => 'fallback',
'name' => $post_type,
);
echo '<p>';
$this->do_checkbox( $fallback_args );
echo '</p>';
}
$id = $this->setting['post_type'][ $post_type ];
$name = 'displayfeaturedimagegenesis[post_type][' . esc_attr( $post_type ) . ']';
@@ -408,9 +410,8 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen
$size_to_check = get_option( 'medium_size_w' );
// sanitize
$new_value['post_type'][ $object->name ] = $this->validate_image( $new_value['post_type'][ $object->name ], $old_value, $label, $size_to_check );
$new_value['skip'][ $object->name ] = $this->one_zero( $new_value['skip'][ $object->name ] );
$new_value['fallback'][ $object->name ] = $this->one_zero( $new_value['fallback'][ $object->name ] );
$new_value['post_type'][ $post_type ] = $this->validate_image( $new_value['post_type'][ $post_type ], $old_value, $label, $size_to_check );
$new_value['fallback'][ $post_type ] = $this->one_zero( $new_value['fallback'][ $post_type ] );
}
return $new_value;