/** * Add term/default image to blog/archive pages. Use: * add_action( 'genesis_entry_content', 'display_featured_image_genesis_add_archive_thumbnails', 5 ); * @return image If a post doesn't have its own thumbnail, you can use this function to add one to archive pages. * * @since 2.1.0 */ function display_featured_image_genesis_add_archive_thumbnails() { $show_thumbs = genesis_get_option('content_archive_thumbnail'); if (is_singular() || is_admin() || is_404() || !$show_thumbs) { return; } $args = array('post_mime_type' => 'image', 'post_parent' => get_the_ID(), 'post_type' => 'attachment'); $attached_images = get_children($args); if (has_post_thumbnail() || $attached_images) { return; } $image_id = display_featured_image_genesis_get_term_image_id(); if (empty($image_id)) { $image_id = display_featured_image_genesis_get_cpt_image_id(); if (empty($image_id)) { $image_id = display_featured_image_genesis_get_default_image_id(); } } if (empty($image_id)) { return; } $image = genesis_get_image(array('fallback' => apply_filters('display_featured_image_genesis_fallback_archive_thumbnail', $image_id), 'size' => genesis_get_option('image_size'), 'attr' => genesis_parse_attr('entry-image', array('alt' => get_the_title())), 'context' => 'archive')); $permalink = get_permalink(); printf('<a href="%1$s" aria-hidden="true">%2$s</a>', esc_url($permalink), wp_kses_post($image)); }
/** * If there is no image to use for the post thumbnail in archives, * optionally use the term or post type image as a fallback instead. * * @param $defaults * * @return mixed * @since 2.5.0 */ public function change_thumbnail_fallback($defaults) { if (!isset($this->setting['thumbnails']) || !$this->setting['thumbnails']) { return $defaults; } remove_action('genesis_entry_content', 'display_featured_image_genesis_add_archive_thumbnails', 5); $args = array('post_mime_type' => 'image', 'post_parent' => get_the_ID(), 'post_type' => 'attachment'); $attached_images = get_children($args); if ($attached_images) { return $defaults; } $image_id = display_featured_image_genesis_get_term_image_id(); if (empty($image_id)) { $image_id = display_featured_image_genesis_get_cpt_image_id(); } if ($image_id) { $defaults['fallback'] = $image_id; } return $defaults; }