WordPress.org

Plugin Directory


Ignore:
Timestamp:
06/23/17 09:26:50 (2 months ago)
Author:
mnmlthms
Message:

Update v1.0.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wp-flexslider/trunk/inc/public/main.php

    r1564207 r1684133  
    66 */ 
    77function wp_flexslider_get_option( $key = ''){ 
    8  
    9     $option = get_option( 'wp_flexslider', apply_filters( 'wp_flexslider_default_options', array( 
     8    $defaults = apply_filters( 'wp_flexslider_default_options', array( 
    109        'animation' => 'slide', 
    1110        'autoplay'  => 'on',  
     
    1514        'direction_nav'     => 'true', 
    1615        'control_nav'       => 'true', 
    17         'smooth_height'       => 'on', 
    18  
    19     ) ) ); 
    20  
    21     if( $key && isset( $option['key'] ) ){ 
    22         return $option['key']; 
     16        'smooth_height'     => 'on', 
     17        'set_default'       => false, 
     18        'force_display'     => false 
     19 
     20    ) ); 
     21 
     22    $option = array_merge( $defaults, get_option( 'wp_flexslider', $defaults ) ); 
     23 
     24    if( $key && isset( $option[$key] ) ){ 
     25        return $option[$key]; 
    2326    } 
    2427 
     
    4245            $attr['type'] = 'default'; 
    4346 
    44         if( !in_array( $attr['type'], array( 'flexslider') ) ) 
    45             return $output; 
    46  
    47         wp_enqueue_style( 'flexslider' ); 
    48         wp_enqueue_style( 'wp-flexslider' ); 
    49         wp_enqueue_script( 'flexslider' ); 
    50         wp_enqueue_script( 'wp-flexslider' ); 
    51  
    52         $post = get_post(); 
    53  
    54         static $instance = 0; 
    55  
    56         $instance++; 
    57  
    5847        if ( ! empty( $attr['ids'] ) ) { 
    5948            // 'ids' is explicitly ordered, unless you specify otherwise. 
     
    7160        } 
    7261 
     62        $post = get_post(); 
     63        $html5 = current_theme_supports( 'html5', 'gallery' ); 
     64         
    7365        $atts = shortcode_atts( array( 
    7466            'order'      => 'ASC', 
    7567            'orderby'    => 'menu_order ID', 
    7668            'id'         => $post ? $post->ID : 0, 
    77             'size'       => 'thumbnail', 
     69            'itemtag'    => $html5 ? 'figure'     : 'dl', 
     70            'icontag'    => $html5 ? 'div'        : 'dt', 
     71            'captiontag' => $html5 ? 'figcaption' : 'dd', 
     72            'columns'    => 3, 
     73            'size'       => 'thumbnail', 
    7874            'include'    => '', 
    7975            'exclude'    => '', 
    80             'link'       => '' 
     76            'link'       => '', 
     77            // Important 
     78            'type'      => ''  
    8179        ), $attr, 'gallery' ); 
     80 
     81        if( !in_array( $atts['type'], array( 'flexslider') ) ) 
     82            return $output; 
     83 
     84        wp_enqueue_style( 'flexslider' ); 
     85        wp_enqueue_style( 'wp-flexslider' ); 
     86        wp_enqueue_script( 'flexslider' ); 
     87        wp_enqueue_script( 'wp-flexslider' ); 
     88 
     89        static $instance = 0; 
     90 
     91        $instance++; 
    8292 
    8393        $id = intval( $atts['id'] ); 
     
    127137            'smoothHeight'  => ( !empty( $flex_data['smooth_height'] ) ? true : false ) 
    128138        ), 'gallery'); 
    129         $class = "gallery-{$attr['type']}"; 
     139        $class = "gallery-{$atts['type']}"; 
    130140        // class='gallery galleryid-{$id}' 
    131141        $gallery_div = "<div id='" . esc_attr( $selector ) . "' class='flexslider wp-flexslider " . esc_attr( $class ) ."' data-flex-settings='" . esc_attr( json_encode( $slider_settings ) ) . "'> 
     
    178188    } 
    179189endif; 
     190 
     191add_filter( 'shortcode_atts_gallery', 'wp_flexslider_force_display', 20, 4 ); 
     192/** 
     193 * Force Display WP Flexslider for default type 
     194 * 
     195 * @since 1.0.4 
     196 * @access public 
     197 */ 
     198if( !function_exists( 'wp_flexslider_force_display') ): 
     199 
     200    function wp_flexslider_force_display( $out, $pairs, $atts, $shortcode ){ 
     201 
     202        $force_display = wp_flexslider_get_option('force_display'); 
     203        var_dump( $force_display ); 
     204        echo $force_display ? 'true' : 'false'; 
     205        if ( $force_display ) { 
     206            /** This filter is already documented in functions.gallery.php */ 
     207            $atts['type'] = 'flexslider'; 
     208             
     209            foreach ($pairs as $name => $default) { 
     210                if ( array_key_exists($name, $atts) ) 
     211                    $out[$name] = $atts[$name]; 
     212                else 
     213                    $out[$name] = $default; 
     214            } 
     215        } 
     216 
     217        return $out; 
     218    } 
     219endif; 
Note: See TracChangeset for help on using the changeset viewer.