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 );
 	preg_match( '/' . $pattern . '/s', $content, $matches );
 
 
 	// Account for Content Option settings
 	// 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';
 		$content_option_override = '1';
-	} elseif ( empty ( get_option( 'jetpack_content_featured_images_post' ) ) ) {
-		$content_option_override = '0';
 	} else {
 	} 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.
 	// 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' ) {
 			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 );
 				$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 = $matches[0];
-				$shortcode = preg_replace( '/\[' . $matches[2] . ' /', '[flexslider_gallery size="altofocus-post-featured-image" ', $shortcode, 1 );
 				$output = do_shortcode( $shortcode );
 				$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' );
 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>
 	<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 ); ?>;
 		var loadedPosts = <?php echo json_encode( $loaded_post_IDs ); ?>;
 	</script>
 	</script>
 <?php
 <?php

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

@@ -7,168 +7,6 @@
  * @package AltoFocus
  * @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' ) ) :
 if ( ! function_exists( 'altofocus_posted_on' ) ) :
 /**
 /**
  * Prints HTML with meta information for the current post-date/time and author.
  * 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,
 	array( '.comments-link .comment-icon .path,
 			.post-navigation-fixed .nav-links a .meta-nav .arrow-icon .circle', 'fill' ),
 			.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 Name: AltoFocus
 Theme URI: https://wordpress.com/themes/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.
 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: Automattic, Inc
 Author URI: http://automattic.com
 Author URI: http://automattic.com
 License: GNU General Public License v2 or later
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: altofocus
 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.
 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.
 Use it to make something cool, have fun, and share what you've learned with others.