Merge branch 'master' of https://github.com/Automattic/themes
This commit is contained in:
commit
ce4d9e4f37
7 changed files with 105 additions and 173 deletions
|
@ -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 );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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' ) );
|
||||
|
||||
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 493 KiB |
|
@ -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.
|
||||
|
|
Loading…
Reference in a new issue