Add setting to skip featured image output for custom content types

This commit is contained in:
Robin Cornett
2016-03-31 11:37:21 -04:00
parent 1b4e5e8bf8
commit 38e078859d
2 changed files with 12 additions and 2 deletions
@@ -38,13 +38,15 @@ class Display_Featured_Image_Genesis_Output {
$this->setting = displayfeaturedimagegenesis_get_setting();
$exclude_front = $this->setting['exclude_front'];
$post_type = get_post_type();
$skip = isset( $this->setting['skip'][ $post_type ] ) && $this->setting['skip'][ $post_type ] ? true : false;
/**
* Creates display_featured_image_genesis_skipped_posttypes filter to check
* whether get_post_type array should not run plugin on this post type.
* @uses is_in_array()
*/
$post_types = array( 'attachment', 'revision', 'nav_menu_item' );
if ( is_admin() || ( Display_Featured_Image_Genesis_Common::is_in_array( 'skipped_posttypes', $post_types ) ) || ( $skip && is_front_page() ) ) {
$post_types = array( 'attachment', 'revision', 'nav_menu_item' );
if ( is_admin() || Display_Featured_Image_Genesis_Common::is_in_array( 'skipped_posttypes', $post_types ) || $skip || ( $exclude_front && is_front_page() ) ) {
return;
}
@@ -325,6 +325,13 @@ 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 ) ),
@@ -402,6 +409,7 @@ class Display_Featured_Image_Genesis_Settings extends Display_Featured_Image_Gen
// 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 ] );
}