WordPress.org

Plugin Directory

Changeset 1320362


Ignore:
Timestamp:
01/03/16 19:59:46 (2 years ago)
Author:
sajib1223
Message:

Version 2.0.8

Location:
w4-post-list/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • w4-post-list/trunk/assets/form/form.js

    r1032708 r1320362  
    66(function($){ 
    77$(document).ready(function(){ 
     8 
     9 
     10    /* handle form submit action */ 
     11    $('.wff_ajax_form').each(function(){ 
     12 
     13        var  
     14        $form       = $(this), 
     15        $button     = $form.find('.form_button'), 
     16        action      = $form.find('.form_action').val() || ''; 
     17 
     18        $form.find('.wffwt_submit').append('<div class="wf_notes"></div>'); 
     19        var $notes = $form.find('.wf_notes'); 
     20 
     21        $button.click(function(e){ 
     22 
     23            e.preventDefault(); 
     24            var data = $form.serialize(); 
     25 
     26            $notes.removeClass('_error _ok').empty(); 
     27            if( $button.hasClass('ld') ) 
     28            { 
     29                $notes.html('Please hold on till the last request completes').addClass('_error'); 
     30                return false; 
     31            } 
     32 
     33            $button.addClass('ld').attr('disabled', 'disabled'); 
     34            if( typeof( $form.data('loading_text') ) !== undefined ){ 
     35                $notes.html( $form.data('loading_text') ).addClass('_note ld'); 
     36            } 
     37 
     38            $.post(ajaxurl, data) 
     39            .done(function(r){ 
     40                if( '0' == r ){ 
     41                    $notes.html('Invalid form response.').addClass('_error'); 
     42                } 
     43                else{ 
     44                    $notes.html(r.html).addClass('_'+ r.status); 
     45                } 
     46 
     47                if( action ){ 
     48                    $(window).trigger( action, r ); 
     49                } 
     50            }) 
     51            .complete(function(r){ 
     52                $button.removeClass('ld').removeAttr('disabled'); 
     53                $notes.removeClass('ld'); 
     54            }); 
     55        }); 
     56    }); 
     57 
     58 
     59    /* handle button click action */ 
     60    /* very useful and important as used on a lot of elements*/ 
     61    $('.wff_ajax_action_btn').live('click', function(e){ 
     62        e.preventDefault(); 
     63        var  
     64            $that       = $(this), 
     65            action      = $that.data('action') || '', 
     66            target      = $that.data('target') || ''; 
     67            _confirm    = $that.data('confirm') || ''; 
     68            _alert      = $that.data('alert'); 
     69 
     70        if( $that.hasClass('ld') || action == '' ){ 
     71            return false; 
     72        } 
     73 
     74        if( _confirm && ! confirm(_confirm) ){ 
     75            return false; 
     76        } 
     77 
     78        var data = $that.data('form') ? $( $that.data('form') ).serialize() + '&action='+ action : $that.data(); 
     79 
     80        $that.addClass('ld').attr('disabled', 'disabled'); 
     81        $.post(ajaxurl, data) 
     82        .done(function(r){ 
     83 
     84            if( 'ok' == r.status ){ 
     85                if( target ){ 
     86                    $(target).html( r.html ); 
     87                } 
     88                else if( _alert == '1' ){ 
     89                    alert( r.html ); 
     90                } 
     91            } 
     92            else if( 'error' == r.status ){ 
     93                if( target ){ 
     94                    $(target).html( r.html ); 
     95                } 
     96                else if( _alert == '1' ){ 
     97                    alert( r.html ); 
     98                } 
     99            } 
     100 
     101            $(window).trigger( action, [r, data, $that] ); 
     102        }) 
     103        .complete(function(){ 
     104            $that.removeClass('ld').removeAttr('disabled'); 
     105        }); 
     106    }); 
     107 
     108 
     109    /* clone table */ 
     110    $('.wff_clone_btn').live('click', function(e){ 
     111        e.preventDefault(); 
     112        var  
     113            $button     = $(this), 
     114            $wrap       = $button.closest('.wff_clone_wrap'), 
     115            $to         = $wrap.find('.wff_clone_to'), 
     116            $html       = $wrap.find('.wff_clone_from').html(); 
     117 
     118        $to.append($html); 
     119         
     120        $(window).trigger( 'wpce/row_cloned' ); 
     121        if( $wrap.attr('id') != '' ){ 
     122            $(window).trigger( 'wff_cloned_' + $wrap.attr('id') ); 
     123        } 
     124 
     125        return false; 
     126    }); 
     127 
     128    /* remove matchday row */ 
     129    $('.wff_clone_remove_btn').live('click', function(e){ 
     130        e.preventDefault(); 
     131        var $button = $(this), $item = $button.closest('.wff_clone_item'); 
     132        $item.remove() 
     133        return false; 
     134    }); 
     135 
     136    $('.wff_clone_to.sortable').sortable({ 
     137        items : 'tr', 
     138        handle : '.wff_clone_drag_handle', 
     139        helper: function(e, tr){ 
     140            var $originals = tr.children(); 
     141            var $helper = tr.clone(); 
     142            $helper.children().each(function(index){ 
     143                $(this).width($originals.eq(index).width()); 
     144            }); 
     145            return $helper; 
     146        }            
     147    }); 
     148 
    8149 
    9150    /* Limit number of checkbox checks */ 
  • w4-post-list/trunk/inc/core.php

    r1210009 r1320362  
    5151 
    5252 
     53        // filter list options at higher priority 
     54        add_filter( 'the_content',                              array($this, 'the_content'), 5 ); 
     55 
     56 
    5357        // load list options template from posted data. 
    5458        add_action( 'wp_ajax_w4pl_list_options_template',       array($this, 'list_options_template_ajax') ); 
     
    6973    { 
    7074        load_plugin_textdomain( W4PL_TD, false, basename(dirname(dirname( __FILE__ ))) . '/languages'  ); 
     75    } 
     76 
     77    public function the_content( $content ) 
     78    { 
     79        if( 'w4pl' == get_post_type() ){ 
     80            $content = '[postlist id="'. get_the_ID() .'"]'; 
     81        } 
     82        return $content; 
    7183    } 
    7284 
     
    96108            ), 
    97109            'show_ui'               => true, 
    98             'public'                => false, 
     110            'public'                => true, 
    99111            'has_archive'           => false, 
    100112            'delete_with_user'      => false, 
     
    586598        <style> 
    587599/* W4 Post List - Admin List Template CSS */ 
     600a.subbutton.button, a.subbutton.button{ padding: 3px 5px 4px; height:20px; line-height:12px; margin:2px 0;} 
    588601#titlediv{margin-bottom:30px;} 
    589602#w4pl_list_options{ position:relative; font-size:13px; line-height:normal;} 
     
    620633.w4pl_active .w4pl_group_title, .w4pl_group_title:hover{ background-color:#D1E5EE; box-shadow:0 0 1px #666 inset;} 
    621634#w4pl_lo{ width:100%; height:100%; position:absolute; top:0; left:0; background:url(<?php echo admin_url('images/spinner.gif'); ?>) no-repeat center rgba(255,255,255,0.5);} 
    622 #minor-publishing-actions, #misc-publishing-actions{display:none;} 
    623635 
    624636body.rtl .w4pl_group_fields{ left:0;} 
     
    627639body.rtl .wffewi_w4pl_css, .wffewi_w4pl_js{ margin-right:0 !important;} 
    628640 
     641table.wff_clone_table td,  
     642table.wff_clone_table th{ 
     643    padding-right:0; 
     644} 
     645table.wff_clone_table td:last-child, 
     646table.wff_clone_table th:last-child{ 
     647    padding-right:5px; 
     648} 
     649#w4pl_date_query_table .column, 
     650#w4pl_date_query_table .key, 
     651#w4pl_date_query_table .compare, 
     652#w4pl_date_query_table select{ width:80px;} 
     653 
    629654<?php do_action( 'w4pl/admin_print_css' ); ?> 
    630655        </style> 
     
    644669        $(document).trigger('w4pl/form_loaded', $('#w4pl_list_options') ); 
    645670    }); 
     671 
     672 
     673    $('.w4pl_field_compare').live('change', function(){ 
     674        if( $.inArray( $(this).val(), ['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN']) != -1 ){ 
     675            //console.log($(this).val()); 
     676            $(this) 
     677                .parent('td').next('td').children('.item').show() 
     678                .children('.button').show(); 
     679        } 
     680        else 
     681        { 
     682            $(this) 
     683                .parent('td').next('td').children('.item').hide() 
     684                .children('.button').hide(); 
     685            $(this) 
     686                .parent('td').next('td').find('.item:first').show(); 
     687        } 
     688    }); 
     689 
     690 
     691    $('.w4pl_clone_parent').live('click', function(e){ 
     692        var clone = $(this).parent('.wpce_parent_item').clone(); 
     693        var that = $(this); 
     694        that.parent('.wpce_parent_item').after( clone ); 
     695        $(this).parent('.wpce_parent_item').parent().find('.w4pl_remove_parent').show(); 
     696        return false; 
     697    }); 
     698    $('.w4pl_remove_parent').live('click', function(e){ 
     699        var that = $(this); 
     700        console.log(that.parent('.wpce_parent_item').siblings().length); 
     701        if( that.parent('.wpce_parent_item').siblings().length == 0 ){ 
     702            that.hide(); 
     703            return false; 
     704        } 
     705        else{ 
     706            $('.w4pl_remove_parent').show(); 
     707        } 
     708        that.parent('.wpce_parent_item').remove(); 
     709        return false; 
     710    }); 
     711 
    646712 
    647713 
     
    9351001    } 
    9361002 
     1003 
     1004    public static function filter_multi_row_submit( $rows ) 
     1005    { 
     1006        if( is_object($rows) ){ 
     1007            $rows = get_object_vars( $rows ); 
     1008        } 
     1009 
     1010        $items = array(); 
     1011        if( ! empty($rows) && is_array($rows) ) 
     1012        { 
     1013            $keys = array_keys($rows); 
     1014            // raw formatted data 
     1015            foreach( array_keys($rows[ $keys[0] ]) as $i ) 
     1016            { 
     1017                $row = array(); 
     1018                foreach( $keys as $key ) 
     1019                { $row[$key] = isset($rows[$key][$i]) ? $rows[$key][$i] : ''; } 
     1020 
     1021                $items[] = $row; 
     1022            } 
     1023        } 
     1024 
     1025        if( empty($items) ) 
     1026        { $items = array(); } 
     1027 
     1028        return $items; 
     1029    } 
     1030 
     1031 
    9371032    public static function p($a) 
    9381033    { 
  • w4-post-list/trunk/inc/helper-posts-date_query.php

    r1078249 r1320362  
    3131            return $fields; 
    3232 
    33  
    34         /* Date Query */ 
    35         $fields['before_field_group_date_query'] = array( 
    36             'position'      => '130', 
    37             'html'          => '<div id="w4pl_field_group_date_query" class="w4pl_field_group"> 
    38                                 <div class="w4pl_group_title">Posts: Date Query</div> 
    39                                 <div class="w4pl_group_fields">' 
     33        $html = '<div id="w4pl_field_group_date_query" class="w4pl_field_group"> 
     34            <div class="w4pl_group_title">Posts: Date Query</div> 
     35            <div class="w4pl_group_fields">'; 
     36 
     37        $html .= '<div class="wffw wff_clone_wrap">'; 
     38        $html .= '<table id="w4pl_date_query_table" class="widefat wff_clone_table"> 
     39            <thead> 
     40                <tr> 
     41                    <th class="column">'.   __('Column', W4PL_TD)       .'</th> 
     42                    <th class="key">'.      __('Key', W4PL_TD)      .'</th> 
     43                    <th class="compare">'.  __('Compare', W4PL_TD)  .'</th> 
     44                    <th class="value">'.    __('Value', W4PL_TD)    .'</th> 
     45                    <th class="action">'.   __('Action', W4PL_TD)   .'</th> 
     46                </tr> 
     47            </thead> 
     48            <tbody class="wff_clone_to">'; 
     49 
     50        if( !empty($post_data['date_query']) ) 
     51        { 
     52            foreach( $post_data['date_query'] as $date_query ) 
     53            { 
     54                $html .= $this->get_date_query_form( $date_query ); 
     55            } 
     56        } 
     57        $html .= '</tbody> 
     58            </table>'; 
     59 
     60        $html .= ' 
     61        <div id="w4pl_date_query_value_clone" style="display:none;"> 
     62            <div class="item"> 
     63                <input type="text" class="wff wfft_text wffi_w4pl_date_query_value"> 
     64                <a class="w4pl_date_query_value_add button" href="#">+</a>  
     65                <a class="w4pl_date_query_value_del button" href="#">-</a> 
     66            </div> 
     67        </div>'; 
     68 
     69        $html .= ' 
     70        <p style="text-align:right;"><a href="#" class="button wff_clone_btn">'. __('+ Add', W4PL_TD) .'</a></p> 
     71 
     72        <table class="csshide"><tbody class="wff_clone_from">'. $this->get_date_query_form() .'</table>'; 
     73 
     74        $html .= w4pl_form_field_html( array( 
     75            'field_wrap'    => false, 
     76            'name'          => 'w4pl[date_query_relation]', 
     77            'label'         => __('Relation', W4PL_TD), 
     78            'type'          => 'radio', 
     79            'option'        => array('OR' => __('OR', W4PL_TD), 'AND' => __('AND', W4PL_TD)), 
     80            'value'         => $post_data['date_query_relation'] 
     81        )); 
     82 
     83        $html .= '<p class="wffdw2">'; 
     84        $html .= '<br />For the value field, you can also use following shortcodes to apply dynamic value:'; 
     85        $html .= '<br /><code>[w4pl_date day=+6 hour=-1 format="Y-m-d H:i:s"]</code> - for displaying datetime based on current time'; 
     86        $html .= '<br /><code>[w4pl_time day=+6 hour=-1]</code> - for displaying timestamp based on current time'; 
     87        $html .= '<br /><br />Note: Above Shortcodes generates times in GMT timezone. To compare time saved in another timezone, use hour attribute. for example: [w4pl_date hour=+6] will generate the time what is identical to GMT+6 timestamp.'; 
     88        $html .= '</p>'; 
     89 
     90        $html .= '</div><!--.wffw-->'; 
     91        $html .= '</div><!--.w4pl_group_fields--></div><!--#w4pl_field_group_date_query-->'; 
     92 
     93        $fields['date_query'] = array( 
     94            'position'      => '140', 
     95            'type'          => 'html', 
     96            'html'          => $html 
    4097        ); 
    4198 
    42         $fields['year'] = array( 
    43             'position'      => '132', 
    44             'option_name'   => 'year', 
    45             'name'          => 'w4pl[year]', 
    46             'label'         => __('Year', W4PL_TD), 
    47             'type'          => 'text', 
    48             'desc'          => '4 digit year' 
    49         ); 
    50         $fields['monthnum'] = array( 
    51             'position'      => '134', 
    52             'option_name'   => 'monthnum', 
    53             'name'          => 'w4pl[monthnum]', 
    54             'label'         => __('Month', W4PL_TD), 
    55             'type'          => 'text', 
    56             'desc'          => 'numeric representation of months. ex: 5 for may, 11 for november.' 
    57         ); 
    58         $fields['day'] = array( 
    59             'position'      => '136', 
    60             'option_name'   => 'day', 
    61             'name'          => 'w4pl[day]', 
    62             'label'         => __('Day', W4PL_TD), 
    63             'type'          => 'text' 
    64         ); 
    65  
    66         $fields['after_field_group_date_query'] = array( 
    67             'position'      => '139', 
    68             'html'          => '</div><!--.w4pl_group_fields--></div><!--#before_field_group_date_query-->' 
    69         ); 
    70  
    7199        /* ========================================= */ 
    72  
    73100        return $fields; 
    74101    } 
    75102 
    76103 
     104    public function get_date_query_form( $data = array() ) 
     105    { 
     106        $data = wp_parse_args( $data, array( 
     107            'column'        => '', 
     108            'key'           => '', 
     109            'compare'       => '', 
     110            'value'         => '' 
     111        )); 
     112 
     113        extract( $data ); 
     114 
     115        return '<tr class="wff_clone_item">' 
     116            . '<td class="column">'  
     117            . w4pl_form_child_field_html( array( 
     118                'name'          => 'w4pl[date_query][column][]', 
     119                'type'          => 'select', 
     120                'option'        => array( 
     121                    'post_date'         => 'post_date',  
     122                    'post_date_gmt'     => 'post_date_gmt',  
     123                    'post_modified'     => 'post_modified', 
     124                    'post_modified_gmt' => 'post_modified_gmt',  
     125                    'comment_date'      => 'comment_date', 
     126                    'comment_date_gmt'  => 'comment_date_gmt', 
     127                    'user_registered'   => 'user_registered' 
     128                ), 
     129                'value' => $column 
     130            )) 
     131            . '</td>' 
     132            . '<td class="key">'  
     133            . w4pl_form_child_field_html( array( 
     134                'name'          => 'w4pl[date_query][key][]', 
     135                'type'          => 'select', 
     136                'option'        => array( 
     137                    'after'         => 'after',  
     138                    'before'        => 'before',  
     139                    'year'          => 'year', 
     140                    'month'         => 'month',  
     141                    'monthnum'      => 'monthnum', 
     142                    'week'          => 'week', 
     143                    'w'             => 'w',  
     144                    'dayofyear'     => 'dayofyear',  
     145                    'dayofweek'     => 'dayofweek', 
     146                    'dayofweek_iso' => 'dayofweek_iso',  
     147                    'hour'          => 'hour', 
     148                    'minute'        => 'minute', 
     149                    'second'        => 'second' 
     150                ), 
     151                'value' => $key 
     152            )) 
     153            . '</td>' 
     154            . '<td class="compare">'  
     155            . w4pl_form_child_field_html( array( 
     156                'name'          => 'w4pl[date_query][compare][]', 
     157                'input_class'   => 'w4pl_field_compare', 
     158                'type'          => 'select', 
     159                'option'        => self::date_query_compare_options(), 
     160                'value'         => $compare 
     161            )) 
     162            . '</td>' 
     163            . '<td class="value">' 
     164            . w4pl_form_child_field_html( array( 
     165                'name'          => 'w4pl[date_query][value][]', 
     166                'input_class'   => 'w4pl_field_value', 
     167                'type'          => 'text', 
     168                'value'         => $value 
     169            )) 
     170            . '</td>' 
     171            . '<td class="w4pl_date_query_action_cell"> 
     172                <span class="wff_clone_remove_btn button">'. __('Remove', W4PL_TD) .'</span> 
     173            </td>' 
     174            .' 
     175        </tr>'; 
     176    } 
     177 
     178    public function date_query_compare_options() 
     179    { 
     180        $return = array('=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'); 
     181        $return = array_combine($return, $return); 
     182 
     183        return $return; 
     184    } 
     185 
    77186    public function pre_save_options($options) 
    78187    { 
     188        if( empty($options['date_query_relation']) ){ 
     189            $options['date_query_relation'] = 'AND'; 
     190        } 
     191 
    79192        return $options; 
    80193    } 
     
    82195    public function pre_get_options($options) 
    83196    { 
     197        if( !empty($options['date_query']) ){ 
     198            $date_query = self::filter_multi_row_submit( $options['date_query'] ); 
     199            if( $date_query ) 
     200            { array_pop($date_query); } 
     201            $options['date_query'] = $date_query; 
     202        } 
     203        if( empty($options['date_query_relation']) ){ 
     204            $options['date_query_relation'] = 'AND'; 
     205        } 
    84206        return $options; 
    85207    } 
     
    91213        { 
    92214            // meta query 
    93             foreach( array( 
    94                 'year',  
    95                 'monthnum',  
    96                 'day' 
    97             ) as $option_name ) 
    98             { 
    99                 if( !empty($list->options[$option_name]) ) 
    100                     $list->posts_args[$option_name] = intval( $list->options[$option_name] ); 
     215            if( !empty($list->options['date_query']) ){ 
     216                $list->posts_args['date_query'] = array(); 
     217                foreach( $list->options['date_query'] as $dq ){ 
     218 
     219                    if( in_array($dq['compare'], array('IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN') ) ){ 
     220                        $dq['value'] = explode(',', $dq['value']); 
     221                        $dq['value'] = array_map('trim', $dq['value']); 
     222                    } 
     223 
     224                    $dq[ $dq['key'] ] = $dq['value']; 
     225                    unset($dq['key'], $dq['value']); 
     226                     
     227                    $list->posts_args['date_query'][] = $dq; 
     228                } 
     229                $list->posts_args['date_query']['relation'] = $list->options['date_query_relation']; 
    101230            } 
    102231        } 
    103         # echo '<pre>'; print_r($list->posts_args); echo '</pre>'; 
     232        #self::p($list->posts_args);; 
    104233    } 
    105234} 
  • w4-post-list/trunk/inc/helper-posts.php

    r1221276 r1320362  
    4343                'callback'  => array('W4PL_Helper_Posts', 'post_id'), 
    4444                'desc'      => '<strong>'. __('Output', W4PL_TD) .'</strong>: post id' 
     45            ), 
     46            'post_type' => array( 
     47                'group'     => 'Post',  
     48                'callback'  => array('W4PL_Helper_Posts', 'post_type'), 
     49                'desc'      => '<strong>'. __('Output', W4PL_TD) .'</strong>: post type' 
     50            ), 
     51            'post_type_label' => array( 
     52                'group'     => 'Post',  
     53                'callback'  => array('W4PL_Helper_Posts', 'post_type_label'), 
     54                'desc'      => '<strong>'. __('Output', W4PL_TD) .'</strong>: post type label' 
     55            ), 
     56            'post_status' => array( 
     57                'group'     => 'Post',  
     58                'callback'  => array('W4PL_Helper_Posts', 'post_status'), 
     59                'desc'      => '<strong>'. __('Output', W4PL_TD) .'</strong>: post status' 
     60            ), 
     61            'post_status_label' => array( 
     62                'group'     => 'Post',  
     63                'callback'  => array('W4PL_Helper_Posts', 'post_status_label'), 
     64                'desc'      => '<strong>'. __('Output', W4PL_TD) .'</strong>: post status label' 
    4565            ), 
    4666            'post_number' => array( 
     
    325345 
    326346    public static function post_id($attr, $cont){ return get_the_ID(); } 
     347 
     348    public static function post_type($attr, $cont){ return get_post_type(); } 
     349    public static function post_type_label($attr, $cont){ return get_post_type_object( get_post_type() )->labels->singular_name; } 
     350    public static function post_status($attr, $cont){ return get_post_status(); } 
     351    public static function post_status_label($attr, $cont){ return get_post_status_object( get_post_status() )->label; } 
     352 
    327353    public static function post_number($attr, $cont, $list){ return (int) ($list->posts_query->current_post + 1); } 
    328354    public static function post_permalink($attr, $cont){ return get_permalink(); } 
  • w4-post-list/trunk/inc/postlist.php

    r1210009 r1320362  
    272272            $this->posts_query = new WP_Query( $this->posts_args ); 
    273273 
    274             # echo '<pre>'; print_r($this->posts_query); echo '</pre>'; 
     274            #echo '<pre>'; print_r($this->posts_query->request); echo '</pre>'; 
    275275 
    276276            // if using groups 
     
    402402        else 
    403403        { $format = '?'. $paged_qp . '=%#%'; } 
    404  
     404         
     405        $base = str_replace('#038;', '&', $base); 
    405406 
    406407        if( in_array( $nav_type, array('plain', 'list') ) ) 
  • w4-post-list/trunk/index.php

    r1221265 r1320362  
    44 * Plugin URI: http://w4dev.com/plugins/w4-post-list 
    55 * Description: This plugin lets you create a list of - Posts, Terms, Users, Terms + Posts and Users + Posts. Outputs are completely customizable using Shortcode, HTML & CSS. Read documentation plugin usage. 
    6  * Version: 2.0.7 
     6 * Version: 2.0.8 
    77 * Author: Shazzad Hossain Khan 
    88 * Author URI: http://w4dev.com/about 
     
    3535    define( 'W4PL_NAME',            'W4 Post List' ); 
    3636    define( 'W4PL_SLUG',            'w4pl' ); 
    37     define( 'W4PL_VERSION',         '2.0.7' ); 
     37    define( 'W4PL_VERSION',         '2.0.8' ); 
    3838    define( 'W4PL_TD',              'w4pl' ); 
    3939    define( 'W4PL_INC',             W4PL_DIR . 'inc' ); 
  • w4-post-list/trunk/readme.txt

    r1221281 r1320362  
    122122 
    123123== Changelog == 
     124= 2.0.8 = 
     125* Date Query: Multiple date query filters 
     126* New: Shortcode [post_type], [post_type_label], [post_status], [post_status_label] 
    124127= 2.0.7 = 
    125128* Fixes: PHP5 compatibility 
     
    318321 
    319322== Upgrade Notice == 
     323= 2.0.8 = 
     324* Date Query: Multiple date query filters 
     325* New: Shortcode [post_type], [post_type_label], [post_status], [post_status_label] 
    320326= 2.0.6 = 
    321327* New: Now shortcode can be used with list slug (post_name) or list title (post_title). [postlist slug="a-slug"] 
Note: See TracChangeset for help on using the changeset viewer.