From e474b41b1acaf94572d2b7548938324473b941d7 Mon Sep 17 00:00:00 2001 From: Robin Cornett Date: Thu, 16 Oct 2014 08:53:41 -0400 Subject: [PATCH] new default featured image option --- README.md | 29 +++-- assets/screenshot-2.jpg | Bin 0 -> 72686 bytes display-featured-image-genesis.php | 2 +- ...displayfeaturedimagegenesis-customizer.php | 57 +++++++++ ...ass-displayfeaturedimagegenesis-output.php | 109 +++++++++++------- ...s-displayfeaturedimagegenesis-settings.php | 1 + .../class-displayfeaturedimagegenesis.php | 10 ++ languages/display-featured-image-genesis.pot | 48 ++++++-- readme.txt | 23 ++-- 9 files changed, 210 insertions(+), 69 deletions(-) create mode 100644 assets/screenshot-2.jpg create mode 100644 includes/class-displayfeaturedimagegenesis-customizer.php diff --git a/README.md b/README.md index 9a9f17c..521c510 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,15 @@ This plugin works within the Genesis Framework, to display your post/page featur ## Description This plugin takes a different approach to how we use and display featured images for posts and pages. Instead of simply reusing an image which already exists in the post/page content, the plugin anticipates that you will want to use lovely large images for your featured images, but to do so intelligently. Depending on what you upload, the plugin will: -* display the image as a backstretch (screen width) image if the image is wider than your site's Large Media Setting. + +* display the image as a _backstretch_ (screen width) image if the image is wider than your site's Large Media Setting. * display the image above your post/page content, centered and up to the width of the content, if your image is larger than your Medium Media Setting, and less than or equal to your Large Media Setting. -* display nothing if your featured image width is less than or equal to your Medium Media Setting. -* display nothing if your featured image is already displayed in your content (the original image, not a resized version). +* display _nothing_ if your featured image width is less than or equal to your Medium Media Setting. +* display _nothing_ if your featured image is already displayed in your content (the original image, not a resized version). + +__New in 1.2.0:__ you can now use the WordPress Customizer to set a _Default Featured Image_ to be used site-wide. This image will be used on any post/page/custom post type which does not have a featured image set. + +_Note: This plugin works with the Genesis Framework and child themes only._ ## Requirements * WordPress 3.8, tested up to 4.0 @@ -44,6 +49,9 @@ Then go to your Plugins screen and click __Activate__. ![Screenshot of a page using the Backstretch Featured Image](https://github.com/robincornett/display-featured-image-genesis/blob/develop/assets/screenshot-1.jpg) __Screenshot of a page using the Backstretch Featured Image.__ +![Screenshot of the WordPress Customizer](https://github.com/robincornett/display-featured-image-genesis/blob/develop/assets/screenshot-2.jpg) +__Use the WordPress Customizer to set a Default Featured Image.__ + ## Frequently Asked Questions ### How do I stop the featured image action from showing on my custom post types? @@ -59,15 +67,18 @@ function rgc_skip_post_types( $post_types ) { return $post_types; } ``` + +It seems that you can also include [conditional tags](http://codex.wordpress.org/Conditional_Tags) in the above, eg `$post_types[] = is_front_page();` to stop the featured image from displaying. This is most helpful if you have set a default featured image in the Customizer. + ### The backstretch image is a little too tall. -If you do not want the height of the backstretch image to be quite the height of the user's window, you can reduce it by just a hair. Go to Settings > Media and change the 'Reduction amount' number from the default of 0. The higher this number is, the shorter your image will be. Feel free to experiment, as no images are harmed by changing this number. +If you do not want the height of the backstretch image to be quite the height of the user's window, you can reduce it by just a hair. Go to Settings > Media and change the 'Height' number from the default of 0. The higher this number is, the shorter your image will be. Feel free to experiment, as no images are harmed by changing this number. -Additionally/alternatively, you could set a max-height for the backstretch image via css: +Additionally/alternatively, you could set a max-height for the backstretch image area via css: ```css -.backstretch { - max-height: 700px; +.big-leader { + max-height: 700px !important; } ``` ## Credits @@ -76,6 +87,10 @@ Additionally/alternatively, you could set a max-height for the backstretch image ## Changelog +###1.2.0 +* new feature: default featured image to display if no image is set +* better method naming/organization + ###1.1.3 * output is now properly managed to show only on single posts/pages and home page, not archives diff --git a/assets/screenshot-2.jpg b/assets/screenshot-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ba88418767bb8e15cd764bf8cb78f19d9efc4f2 GIT binary patch literal 72686 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 = array( '' => __( 'No Image', 'display-featured-image-genesis' ) ); + + parent::__construct( $manager, $id, $args ); + + $this->add_tab( 'upload-new', __( 'Upload New', 'display-featured-image-genesis' ), array( $this, 'tab_upload_new' ) ); + $this->add_tab( 'uploaded', __( 'Uploaded', 'display-featured-image-genesis' ), array( $this, 'tab_uploaded' ) ); + + if ( $this->setting->default ) + $this->add_tab( 'default', __( 'Default', 'display-featured-image-genesis' ), array( $this, 'tab_default_background' ) ); + + // Early priority to occur before $this->manager->prepare_controls(); + add_action( 'customize_controls_init', array( $this, 'prepare_control' ), 5 ); + } + +} + + global $wp_customize; + + $wp_customize->add_section( 'displayfeaturedimage-settings', array( + 'title' => __( 'Default Featured Image', 'display-featured-image-genesis' ), + 'priority' => 105, + ) ); + + $wp_customize->add_setting( 'displayfeaturedimage_default', array( + 'type' => 'option', + ) ); + + $wp_customize->add_control( new Display_Featured_Image_Genesis_Customizer( $wp_customize, 'displayfeaturedimage_default', array( + 'label' => __( 'Display Featured Image for Genesis', 'display-featured-image-genesis' ), + 'description' => __( 'You may set a default image to be used as the backstretch or large featured image if no image is selected for the post/page.', 'display-featured-image-genesis' ), + 'section' => 'displayfeaturedimage-settings', + 'settings' => 'displayfeaturedimage_default', + ) ) ); diff --git a/includes/class-displayfeaturedimagegenesis-output.php b/includes/class-displayfeaturedimagegenesis-output.php index 8a7a9db..1dbecbd 100644 --- a/includes/class-displayfeaturedimagegenesis-output.php +++ b/includes/class-displayfeaturedimagegenesis-output.php @@ -33,13 +33,29 @@ class Display_Featured_Image_Genesis_Output { protected function get_image_variables() { $item = new stdClass(); global $post; - if ( is_home() ) { - $postspage = get_option( 'page_for_posts' ); + $fallback = get_option( 'displayfeaturedimage_default' ); + $postspage = get_option( 'page_for_posts' ); + $postspage_image = get_post_thumbnail_id( $postspage ); + + // Set Featured Image Source + if ( is_home() && !empty( $postspage_image ) ) { $item->original = wp_get_attachment_image_src( get_post_thumbnail_id( $postspage ), 'original' ); } + elseif ( !empty( $fallback ) && !has_post_thumbnail() ) { + $fallback_id = $this->get_image_id( $fallback ); + $item->original = wp_get_attachment_image_src( $fallback_id, 'original' ); + } else { $item->original = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'original' ); } + + // Set Post/Page Title + if ( is_home() ) { + $item->title = get_post( $postspage )->post_title; + } + else { + $item->title = get_the_title(); + } $item->large = get_option( 'large_size_w' ); $item->medium = get_option( 'medium_size_w' ); $item->reduce = get_option( 'displayfeaturedimage_less_header', 0 ); @@ -68,21 +84,26 @@ class Display_Featured_Image_Genesis_Output { public function load_scripts() { $item = $this->get_image_variables(); - if ( ( has_post_thumbnail() && $item->content === false ) || is_home() ) { + if ( ( !empty( $item->original ) && $item->content === false ) || is_home() ) { wp_enqueue_style( 'displayfeaturedimage-style', plugins_url( 'includes/css/display-featured-image-genesis.css', dirname( __FILE__ ) ), array(), 1.0 ); - add_action( 'genesis_before', array( $this, 'do_featured_image' ) ); - - if ( ( $item->original[1] ) > $item->large ) { + if ( ( ( $item->original[1] ) > $item->large ) ) { wp_enqueue_script( 'displayfeaturedimage-backstretch', plugins_url( '/includes/js/backstretch.js', dirname( __FILE__ ) ), array( 'jquery' ), '1.0.0' ); wp_enqueue_script( 'displayfeaturedimage-backstretch-set', plugins_url( '/includes/js/backstretch-set.js', dirname( __FILE__ ) ), array( 'jquery', 'displayfeaturedimage-backstretch' ), '1.0.0' ); wp_localize_script( 'displayfeaturedimage-backstretch-set', 'BackStretchVars', array( - 'src' => $item->original[0], + 'src' => $item->original[0], 'height' => esc_attr( $item->reduce ) )); + add_action( 'genesis_after_header', array( $this, 'do_backstretch_image_title' ) ); + + } + + elseif ( ( $item->original[1] <= $item->large ) && ( $item->original[1] > $item->medium ) ) { + add_action( 'genesis_before_entry', array( $this, 'do_large_image' ) ); // HTML5 + add_action( 'genesis_before_post', array( $this, 'do_large_image' ) ); // XHTML } } } @@ -98,11 +119,11 @@ class Display_Featured_Image_Genesis_Output { $item = $this->get_image_variables(); - if ( $item->content === false ) { - if ( ( has_post_thumbnail() || is_home() ) && $item->original[1] > $item->large ) { + if ( !empty( $item->original ) && $item->content === false ) { + if ( $item->original[1] > $item->large ) { $classes[] = 'has-leader'; } - elseif ( has_post_thumbnail() && ( ( $item->original[1] <= $item->large ) && ( $item->original[1] > $item->medium ) ) ) { + elseif ( ( $item->original[1] <= $item->large ) && ( $item->original[1] > $item->medium ) ) { $classes[] = 'large-featured'; } } @@ -110,35 +131,12 @@ class Display_Featured_Image_Genesis_Output { } /** - * do the featured image + * backstretch image title (for images which are larger than Media Settings > Large ) * @return image * * @since 1.0.0 */ - public function do_featured_image() { - global $post; - - $item = $this->get_image_variables(); - - if ( $item->content === false ) { - if ( $item->original[1] > $item->large ) { - add_action( 'genesis_after_header', array( $this, 'do_backstretch_image' ) ); - } - elseif ( ( $item->original[1] <= $item->large ) && ( $item->original[1] > $item->medium ) ) { - add_action( 'genesis_before_entry', array( $this, 'do_large_image' ) ); // HTML5 - add_action( 'genesis_before_post', array( $this, 'do_large_image' ) ); // XHTML - } - } - - } - - /** - * backstretch image (for images which are larger than Media Settings > Large ) - * @return image - * - * @since 1.0.0 - */ - public function do_backstretch_image() { + public function do_backstretch_image_title() { $item = $this->get_image_variables(); @@ -148,14 +146,7 @@ class Display_Featured_Image_Genesis_Output { } echo '
'; - if ( is_home() ) { - $title = get_post( get_option( 'page_for_posts' ) )->post_title; - echo '

' . $title . '

'; - } - else { - echo '

' . get_the_title() . '

'; - } - + echo '

' . $item->title . '

'; echo '
'; } @@ -170,4 +161,36 @@ class Display_Featured_Image_Genesis_Output { echo get_the_post_thumbnail( $post->ID, 'large', array( 'class' => 'aligncenter featured', 'alt' => the_title_attribute( 'echo=0' ) ) ); } + /** + * Get the ID of each image dynamically. + * + * @since 1.2.0 + * + * @author Philip Newcomer + * @link http://philipnewcomer.net/2012/11/get-the-attachment-id-from-an-image-url-in-wordpress/ + */ + protected function get_image_id( $attachment_url ) { + global $wpdb; + $attachment_id = false; + + // Get the upload directory paths + $upload_dir_paths = wp_upload_dir(); + + // Make sure the upload path base directory exists in the attachment URL, to verify that we're working with a media library image + if ( false !== strpos( $attachment_url, $upload_dir_paths['baseurl'] ) ) { + + // If this is the URL of an auto-generated thumbnail, get the URL of the original image + $attachment_url = preg_replace( '(-\d{3,4}x\d{3,4}.)', '.', $attachment_url ); + + // Remove the upload path base directory from the attachment URL + $attachment_url = str_replace( $upload_dir_paths['baseurl'] . '/', '', $attachment_url ); + + // Finally, run a custom database query to get the attachment ID from the modified attachment URL + $attachment_id = $wpdb->get_var( $wpdb->prepare( "SELECT wposts.ID FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = '_wp_attached_file' AND wpostmeta.meta_value = '%s' AND wposts.post_type = 'attachment'", $attachment_url ) ); + + } + + return $attachment_id; + } + } diff --git a/includes/class-displayfeaturedimagegenesis-settings.php b/includes/class-displayfeaturedimagegenesis-settings.php index 047aed7..4d589a4 100644 --- a/includes/class-displayfeaturedimagegenesis-settings.php +++ b/includes/class-displayfeaturedimagegenesis-settings.php @@ -32,6 +32,7 @@ class Display_Featured_Image_Genesis_Settings { 'media', 'display_featured_image_section' ); + } /** diff --git a/includes/class-displayfeaturedimagegenesis.php b/includes/class-displayfeaturedimagegenesis.php index fbcb402..e4729bc 100644 --- a/includes/class-displayfeaturedimagegenesis.php +++ b/includes/class-displayfeaturedimagegenesis.php @@ -28,6 +28,7 @@ class Display_Featured_Image_Genesis { } add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) ); add_action( 'admin_init', array( $this->settings, 'register_settings' ) ); + add_action( 'customize_register', array( $this, 'load_customizer' ) ); add_action( 'load-options-media.php', array( $this->settings, 'help' ) ); add_action( 'get_header', array( $this->output, 'manage_output' ) ); } @@ -78,4 +79,13 @@ class Display_Featured_Image_Genesis { load_plugin_textdomain( 'display-featured-image-genesis', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } + /** + * Set up Customizer options for default featured image + * + * @since 1.2.0 + */ + function load_customizer() { + require plugin_dir_path( __FILE__ ) . 'class-displayfeaturedimagegenesis-customizer.php'; + } + } diff --git a/languages/display-featured-image-genesis.pot b/languages/display-featured-image-genesis.pot index 4bf42e6..1afd657 100644 --- a/languages/display-featured-image-genesis.pot +++ b/languages/display-featured-image-genesis.pot @@ -4,10 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: Display Featured Image for Genesis 1.1.3\n" +"Project-Id-Version: Display Featured Image for Genesis 1.2.0\n" "POT-Creation-Date: 2014-09-17 21:11-0500\n" -"PO-Revision-Date: 2014-09-30 17:18-0500\n" -"Last-Translator: Robin Cornett \n" +"PO-Revision-Date: 2014-10-15 15:45-0500\n""Last-Translator: Robin Cornett \n" "Language-Team: Robin Cornett \n" "Language: en_US\n" "MIME-Version: 1.0\n" @@ -25,35 +24,62 @@ msgstr "" "X-Poedit-SearchPath-0: .\n" "X-Textdomain-Support: yes\n" +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:25 +msgid "No Image" +msgstr "" + +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:29 +msgid "Upload New" +msgstr "" + +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:30 +msgid "Uploaded" +msgstr "" + +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:33 +msgid "Default" +msgstr "" + +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:52 +msgid "Default Featured Image" +msgstr "" + +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:62 #: ../includes/class-displayfeaturedimagegenesis-settings.php:23 -#: ../includes/class-displayfeaturedimagegenesis-settings.php:77 +#: ../includes/class-displayfeaturedimagegenesis-settings.php:78 msgid "Display Featured Image for Genesis" msgstr "" +#: ../includes/class-displayfeaturedimagegenesis-customizer.php:63 +msgid "" +"You may set a default image to be used as the backstretch or large featured " +"image if no image is selected for the post/page." +msgstr "" + #: ../includes/class-displayfeaturedimagegenesis-settings.php:30 msgid "Height" msgstr "" -#: ../includes/class-displayfeaturedimagegenesis-settings.php:44 +#: ../includes/class-displayfeaturedimagegenesis-settings.php:45 msgid "" "Change this setting to reduce the maximum height of the backstretch image." msgstr "" -#: ../includes/class-displayfeaturedimagegenesis-settings.php:56 +#: ../includes/class-displayfeaturedimagegenesis-settings.php:57 msgid "Pixels to remove " msgstr "" -#: ../includes/class-displayfeaturedimagegenesis-settings.php:58 +#: ../includes/class-displayfeaturedimagegenesis-settings.php:59 msgid "" "Changing this number will reduce the backstretch image height by this number " "of pixels. Default is zero." msgstr "" -#: ../includes/class-displayfeaturedimagegenesis-settings.php:72 +#: ../includes/class-displayfeaturedimagegenesis-settings.php:73 msgid "Reducto!" msgstr "" -#: ../includes/class-displayfeaturedimagegenesis-settings.php:73 +#: ../includes/class-displayfeaturedimagegenesis-settings.php:74 msgid "" "Depending on how your header/nav are set up, or if you just do not want your " "backstretch image to extend to the bottom of the user screen, you may want " @@ -61,13 +87,13 @@ msgid "" "image, making it shorter." msgstr "" -#: ../includes/class-displayfeaturedimagegenesis.php:58 +#: ../includes/class-displayfeaturedimagegenesis.php:63 msgid "" "Sorry, Display Featured Image for Genesis works only with the Genesis " "Framework. It has been deactivated." msgstr "" -#: ../includes/class-displayfeaturedimagegenesis.php:62 +#: ../includes/class-displayfeaturedimagegenesis.php:67 #, php-format msgid "" "Sorry, Display Featured Image for Genesis works only with the Genesis " diff --git a/readme.txt b/readme.txt index 9bb0ff7..072bc79 100644 --- a/readme.txt +++ b/readme.txt @@ -5,7 +5,7 @@ Donate link: https://robincornett.com/donate/ Tags: backstretch, featured image, genesis, studiopress Requires at least: 3.8 Tested up to: 4.0 -Stable tag: 1.1.3 +Stable tag: 1.2.0 License: GPL-2.0+ License URI: http://www.gnu.org/licenses/gpl-2.0.txt @@ -20,6 +20,8 @@ This plugin takes a different approach to how we use and display featured images * display _nothing_ if your featured image width is less than or equal to your Medium Media Setting. * display _nothing_ if your featured image is already displayed in your content (the original image, not a resized version). +__New in 1.2.0:__ you can now use the WordPress Customizer to set a _Default Featured Image_ to be used site-wide. This image will be used on any post/page/custom post type which does not have a featured image set. + _Note: This plugin works with the Genesis Framework and child themes only._ == Installation == @@ -42,27 +44,34 @@ You'll want to add a filter to your theme (functions.php file). Here's an exampl return $post_types; } +It seems that you can also include [conditional tags](http://codex.wordpress.org/Conditional_Tags) in the above, eg `$post_types[] = is_front_page();` to stop the featured image from displaying. This is most helpful if you have set a default featured image in the Customizer. + = The backstretch image is a little too tall. = -If you do not want the height of the backstretch image to be quite the height of the user's window, you can reduce it by just a hair. Go to Settings > Media and change the 'Reduction amount' number from the default of 0. The higher this number is, the shorter your image will be. Feel free to experiment, as no images are harmed by changing this number. +If you do not want the height of the backstretch image to be quite the height of the user's window, you can reduce it by just a hair. Go to Settings > Media and change the 'Height' number from the default of 0. The higher this number is, the shorter your image will be. Feel free to experiment, as no images are harmed by changing this number. -Additionally/alternatively, you could set a max-height for the backstretch image via css: +Additionally/alternatively, you could set a max-height for the backstretch image area via css: - .backstretch { - max-height: 700px; + .big-leader { + max-height: 700px !important; } == Screenshots == 1. Screenshot of a page using the Backstretch Featured Image +2. Use the WordPress Customizer to set a Default Featured Image. == Upgrade Notice == -= 1.1.3 = -proper deactivation, better handling of output += 1.2.0 = +New feature: Set a Default Featured Image == Changelog == += 1.2.0 = +* new feature: default featured image to display if no image is set +* better method naming/organization + = 1.1.3 = * output is now properly managed to show only on single posts/pages and home page, not archives