Browse Source

Merge branch 'master' of https://github.com/Automattic/themes

Thomas Guillot 7 years ago
parent
commit
ce4d9e4f37

+ 5 - 7
altofocus/components/post/content-single.php

@@ -30,12 +30,10 @@
 	preg_match( '/' . $pattern . '/s', $content, $matches );
 
 	// Account for Content Option settings
-	if ( ! function_exists( 'jetpack_featured_images_remove_post_thumbnail' ) ) {
+	if ( ! function_exists( 'jetpack_featured_images_remove_post_thumbnail' ) || ! empty ( get_option( 'jetpack_content_featured_images_post' ) ) ) {
 		$content_option_override = '1';
-	} elseif ( empty ( get_option( 'jetpack_content_featured_images_post' ) ) ) {
-		$content_option_override = '0';
 	} else {
-		$content_option_override = '1';
+		$content_option_override = '0';
 	}
 
 	// If content has a gallery with the slideshow type, display that instead of the featured image.
@@ -45,12 +43,12 @@
 
 			if ( is_array( $matches ) && $matches[2] == 'gallery' ) {
 
-				// Remove gallery markup from content (affects .entry-content below)
+				// Remove gallery markup from content (effects .entry-content below)
 				$content = altofocus_strip_override_shortcode( $content );
 
-				// Replace gallery with flexslider_gallery shortcode
+				// Filter default gallery with custom full-width flexslider gallery. See: extras.php
+				add_filter( 'post_gallery', 'altofocus_slideshow_gallery_filter', 10, 2);
 				$shortcode = $matches[0];
-				$shortcode = preg_replace( '/\[' . $matches[2] . ' /', '[flexslider_gallery size="altofocus-post-featured-image" ', $shortcode, 1 );
 				$output = do_shortcode( $shortcode );
 			}
 		}

+ 96 - 0
altofocus/inc/extras.php

@@ -128,3 +128,99 @@ function altofocus_pingback_header() {
 	}
 }
 add_action( 'wp_head', 'altofocus_pingback_header' );
+
+/**
+ * Slideshow Gallery Filter
+ *
+ * Replaces the default gallery when type=slideshow is used
+ * See: componenets/post/content-single.php
+ * Source: https://wordpress.stackexchange.com/a/64022
+ */
+function altofocus_slideshow_gallery_filter( $output, $attr ) {
+
+	global $post;
+
+	static $instance = 0;
+	$instance++;
+
+	// We're trusting author input, so let's at least make sure it looks like a valid orderby statement
+	if ( isset( $attr['orderby'] ) ) {
+		$attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
+		if ( !$attr['orderby'] ) {
+			unset( $attr['orderby'] );
+		}
+	}
+
+	extract(shortcode_atts(array(
+		'order'      => 'ASC',
+		'orderby'    => 'menu_order ID',
+		'id'         => $post->ID,
+		'itemtag'    => 'li',
+		'icontag'    => null,
+		'captiontag' => 'p',
+		'columns'    => 3,
+		'size'       => 'large',
+		'include'    => '',
+		'exclude'    => ''
+	), $attr));
+
+	$id = intval($id);
+
+	if ( 'RAND' == $order ) {
+		$orderby = 'none';
+	}
+
+	if ( ! empty( $include ) ) {
+
+		$include = preg_replace( '/[^0-9,]+/', '', $include );
+		$_attachments = get_posts( array( 'include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby ) );
+
+		$attachments = array();
+		foreach ( $_attachments as $key => $val ) {
+			$attachments[$val->ID] = $_attachments[$key];
+		}
+
+	} elseif ( !empty($exclude) ) {
+
+		$exclude = preg_replace( '/[^0-9,]+/', '', $exclude );
+		$attachments = get_children( array('post_parent' => $id, 'exclude' => $exclude, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
+
+	} else {
+
+		$attachments = get_children( array('post_parent' => $id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );
+	}
+
+	if ( empty( $attachments ) ) {
+		return '';
+	}
+
+	// The gallery output
+	$selector = "gallery-{$instance}";
+	$size_class = sanitize_html_class( $size );
+	$output = "<section id=\"gallery-{$id}\" class=\"entry-gallery\"><div id=\"$selector\" class=\"flexslider slider slider-size-{$size_class}\"><ul class=\"slides\">";
+	foreach ( $attachments as $att_id => $attachment ) {
+
+		// Get image, meta & caption
+		$image_link = wp_get_attachment_image( $att_id, $size );
+		$image_meta  = wp_get_attachment_metadata( $att_id );
+		$image_caption = $attachment->post_excerpt;
+
+		// Set orientation
+		$orientation = '';
+		if ( isset( $image_meta['height'], $image_meta['width'] ) )
+			$orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
+
+		// Image markup
+		$output .= "<{$itemtag} class=\"slide {$orientation}\">";
+		$output .= $image_link;
+
+		// Add caption if it exists
+		if ( ! empty( $image_caption ) )
+			$output .= '<span class="image-caption">' . $image_caption . '</span>';
+
+		$output .= "</{$itemtag}>";
+	}
+
+	$output .= '</section>';
+	return $output;
+}

+ 1 - 1
altofocus/inc/jetpack.php

@@ -171,7 +171,7 @@ function altofocus_infinite_scroll_render() {
 		}
 	} ?>
 	<script>
-		// Put returned posts IDs in to an array
+		// Put returned posts' IDs in to an array
 		var loadedPosts = <?php echo json_encode( $loaded_post_IDs ); ?>;
 	</script>
 <?php

+ 0 - 162
altofocus/inc/template-tags.php

@@ -7,168 +7,6 @@
  * @package AltoFocus
  */
 
-/*
- * Gallery Slider Shortcode
- */
-function altofocus_gallery_shortcode( $attr ) {
-
-	$post = get_post();
-
-	static $instance = 0;
-	$instance++;
-
-	if ( ! empty( $attr['ids'] ) ) {
-
-		// 'ids' is explicitly ordered, unless you specify otherwise.
-		if ( empty( $attr['orderby'] ) )
-			$attr['orderby'] = 'post__in';
-
-		$attr['include'] = $attr['ids'];
-	}
-
-	// Allow plugins/themes to override the default gallery template.
-	$output = apply_filters( 'slider_gallery', '', $attr );
-	if ( $output != '' )
-		return $output;
-
-	// We're trusting author input, so let's at least make sure it looks like a valid orderby statement
-	if ( isset( $attr['orderby'] ) ) {
-
-		$attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
-
-		if ( ! $attr['orderby'] )
-			unset( $attr['orderby'] );
-	}
-
-	extract( shortcode_atts( array(
-		'order'      => 'ASC',
-		'orderby'    => 'menu_order ID',
-		'id'         => $post->ID,
-		'itemtag'    => 'li',
-		'icontag'    => null,
-		'captiontag' => 'p',
-		'columns'    => 3,
-		'size'       => 'large',
-		'include'    => '',
-		'exclude'    => ''
-	), $attr, 'gallery' ) );
-
-	$id = intval( $id );
-
-	if ( 'RAND' == $order )
-		$orderby = 'none';
-
-	if ( ! empty( $include ) ) {
-
-		$_attachments = get_posts( array(
-			'include'        => $include,
-			'post_status'    => 'inherit',
-			'post_type'      => 'attachment',
-			'post_mime_type' => 'image',
-			'order'          => $order,
-			'orderby'        => $orderby
-		) );
-
-		$attachments = array();
-
-		foreach ( $_attachments as $key => $val ) {
-
-			$attachments[$val->ID] = $_attachments[$key];
-		}
-
-	} elseif ( ! empty( $exclude ) ) {
-
-		$attachments = get_children( array(
-			'post_parent'    => $id,
-			'exclude'        => $exclude,
-			'post_status'    => 'inherit',
-			'post_type'      => 'attachment',
-			'post_mime_type' => 'image',
-			'order'          => $order,
-			'orderby'        => $orderby
-		) );
-
-	} else {
-
-		$attachments = get_children( array(
-			'post_parent'    => $id,
-			'post_status'    => 'inherit',
-			'post_type'      => 'attachment',
-			'post_mime_type' => 'image',
-			'order'          => $order,
-			'orderby'        => $orderby
-		) );
-	}
-
-	if ( empty( $attachments ) )
-		return '';
-
-	if ( is_feed() ) {
-
-		$output = "\n";
-
-		foreach ( $attachments as $att_id => $attachment )
-			$output .= wp_get_attachment_link( $att_id, $size, true ) . "\n";
-
-		return $output;
-	}
-
-	$itemtag = tag_escape( $itemtag );
-	$captiontag = tag_escape( $captiontag );
-	$icontag = tag_escape( $icontag );
-	$valid_tags = wp_kses_allowed_html( 'post' );
-
-	if ( ! isset( $valid_tags[ $itemtag ] ) )
-		$itemtag = 'dl';
-	if ( ! isset( $valid_tags[ $captiontag ] ) )
-		$captiontag = 'dd';
-	if ( ! isset( $valid_tags[ $icontag ] ) )
-		$icontag = 'dt';
-
-	$columns = intval( $columns );
-	$itemwidth = $columns > 0 ? floor(100/$columns) : 100;
-	$float = is_rtl() ? 'right' : 'left';
-
-	$selector = "gallery-{$instance}";
-
-	$size_class = sanitize_html_class( $size );
-    $gallery_div = "<section id=\"gallery-{$id}\" class=\"entry-gallery\"><div id=\"$selector\" class=\"flexslider slider slider-size-{$size_class}\"><ul class=\"slides\">";
-    $output = $gallery_div;
-
-	$i = 0;
-
-	$attachment_id = ( empty( $attachment_id ) ) ? get_post_thumbnail_id() : (int) $attachment_id;
-
-	foreach ( $attachments as $id => $attachment ) {
-
-		// Get image, meta & caption
-		$image_link = wp_get_attachment_image( $id, $size );
-		$image_meta  = wp_get_attachment_metadata( $id );
-		$image_caption = $attachment->post_excerpt;
-
-		// Set orientation
-		$orientation = '';
-		if ( isset( $image_meta['height'], $image_meta['width'] ) )
-			$orientation = ( $image_meta['height'] > $image_meta['width'] ) ? 'portrait' : 'landscape';
-
-		// Image markup
-		$output .= "<{$itemtag} class=\"slide {$orientation}\">";
-		$output .= $image_link;
-
-		// Add caption if it exists
-		if ( ! empty( $image_caption ) )
-			$output .= '<span class="image-caption">' . $image_caption . '</span>';
-
-		$output .= "</{$itemtag}>";
-	}
-
-    $output .= "</ul></div></section>\n";
-
-	return $output;
-
-}
-add_shortcode( 'flexslider_gallery', 'altofocus_gallery_shortcode' );
-
 if ( ! function_exists( 'altofocus_posted_on' ) ) :
 /**
  * Prints HTML with meta information for the current post-date/time and author.

+ 1 - 1
altofocus/inc/wpcom-colors.php

@@ -65,7 +65,7 @@ add_color_rule( 'bg', '#ffffff', array(
 	array( '.comments-link .comment-icon .path,
 			.post-navigation-fixed .nav-links a .meta-nav .arrow-icon .circle', 'fill' ),
 
-), __( 'Background Color' ) );
+), __( 'Background Color', 'altofocus' ) );
 
 
 

BIN
altofocus/screenshot.png


+ 2 - 2
altofocus/style.css

@@ -2,13 +2,13 @@
 Theme Name: AltoFocus
 Theme URI: https://wordpress.com/themes/altofocus/
 Description: AltoFocus is a theme for photographers, artists, and other creative types in search of a simple and easy way to display their work.
-Version: 1.0.2-wpcom
+Version: 1.0.4-wpcom
 Author: Automattic, Inc
 Author URI: http://automattic.com
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: altofocus
-Tags: art, artwork, clean, featured-images, full-width-template, grid-layout, infinite-scroll, minimal, one-column, photoblogging, photography, portfolio, responsive-layout, rtl-language-support, site-logo, theme-options, translation-ready
+Tags: featured-images, full-width-template, grid-layout, one-column, portfolio, rtl-language-support, theme-options, translation-ready
 
 This theme, like WordPress, is licensed under the GPL.
 Use it to make something cool, have fun, and share what you've learned with others.