WordPress.org

Make WordPress Core

Ticket #16173: calendar.2.diff

File calendar.2.diff, 18.7 KB (added by GautamGupta, 3 years ago)
  • wp-includes/default-widgets.php

     
    327327class WP_Widget_Calendar extends WP_Widget { 
    328328 
    329329        function WP_Widget_Calendar() { 
    330                 $widget_ops = array('classname' => 'widget_calendar', 'description' => __( 'A calendar of your site’s posts') ); 
    331                 $this->WP_Widget('calendar', __('Calendar'), $widget_ops); 
     330                $widget_ops = array( 'classname' => 'widget_calendar', 'description' => __( 'A calendar of your site’s posts' ) ); 
     331                $this->WP_Widget( 'calendar', __( 'Calendar' ), $widget_ops ); 
    332332        } 
    333333 
    334334        function widget( $args, $instance ) { 
    335                 extract($args); 
    336                 $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); 
     335                extract( $args ); 
     336 
     337                $title              = apply_filters( 'widget_title', empty( $instance['title'] ) ? ' ' : $instance['title'], $instance, $this->id_base ); 
     338                $instance_post_type = $this->_get_instance_post_type( $instance ); 
     339 
    337340                echo $before_widget; 
     341 
    338342                if ( $title ) 
    339                         echo $before_title . $title . $after_title; 
    340                 echo '<div id="calendar_wrap">'; 
    341                 get_calendar(); 
    342                 echo '</div>'; 
     343                        echo $before_title . $title . $after_title; ?> 
     344 
     345                <div id="calendar_wrap"> 
     346 
     347                        <?php get_calendar( true, true, $instance_post_type ); ?> 
     348 
     349                </div> 
     350 
     351                <?php 
     352 
    343353                echo $after_widget; 
    344354        } 
    345355 
    346356        function update( $new_instance, $old_instance ) { 
    347                 $instance = $old_instance; 
    348                 $instance['title'] = strip_tags($new_instance['title']); 
     357                $instance              = $old_instance; 
     358                $instance['title']     = strip_tags( $new_instance['title'] ); 
     359                $instance['post_type'] = stripslashes( $new_instance['post_type'] ); 
    349360 
    350361                return $instance; 
    351362        } 
    352363 
    353364        function form( $instance ) { 
    354                 $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) ); 
    355                 $title = strip_tags($instance['title']); 
    356 ?> 
    357                 <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> 
    358                 <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></p> 
    359 <?php 
     365                $instance           = wp_parse_args( (array) $instance, array( 'title' => '' ) ); 
     366                $title              = strip_tags( $instance['title'] ); 
     367                $instance_post_type = $this->_get_instance_post_type( $instance ); 
     368                ?> 
     369 
     370                <p> 
     371                        <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> 
     372                        <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /> 
     373                </p> 
     374 
     375                <p> 
     376                        <label for="<?php echo $this->get_field_id( 'post_type' ); ?>"><?php _e( 'Post Type:' ); ?></label> 
     377                        <select class="widefat" id="<?php echo $this->get_field_id( 'post_type' ); ?>" name="<?php echo $this->get_field_name('post_type'); ?>"> 
     378 
     379                                <?php foreach ( get_post_types( array(), 'objects' ) as $post_type ) : 
     380                                        if ( !post_type_supports( $post_type->name, 'calendar' ) ) 
     381                                                continue; 
     382                                        ?> 
     383 
     384                                        <option value="<?php echo esc_attr( $post_type->name ); ?>"<?php selected( $post_type->name, $instance_post_type ); ?>><?php echo $post_type->label; ?></option> 
     385 
     386                                <?php endforeach; ?> 
     387 
     388                        </select> 
     389                </p> 
     390 
     391                <?php 
    360392        } 
     393 
     394        function _get_instance_post_type( $instance ) { 
     395                if ( !empty( $instance['post_type'] ) && post_type_exists( $instance['post_type'] ) && post_type_supports( $instance['post_type'], 'calendar' ) ) 
     396                        return $instance['post_type']; 
     397 
     398                return 'post'; 
     399        } 
    361400} 
    362401 
    363402/** 
  • wp-includes/general-template.php

     
    10711071 * 
    10721072 * @param bool $initial Optional, default is true. Use initial calendar names. 
    10731073 * @param bool $echo Optional, default is true. Set to false for return. 
     1074 * @param string $post_type Optional, default is 'post'. Use to get a calendar 
     1075 *                           of a custom post type 
    10741076 */ 
    1075 function get_calendar($initial = true, $echo = true) { 
     1077function get_calendar( $initial = true, $echo = true, $post_type = 'post' ) { 
    10761078        global $wpdb, $m, $monthnum, $year, $wp_locale, $posts; 
    10771079 
     1080        // Check if the post type exists 
     1081        if ( empty( $post_type ) || !post_type_exists( $post_type ) || !post_type_supports( $post_type, 'calendar' ) ) 
     1082                return false; 
     1083 
    10781084        $cache = array(); 
    10791085        $key = md5( $m . $monthnum . $year ); 
    10801086        if ( $cache = wp_cache_get( 'get_calendar', 'calendar' ) ) { 
     
    10881094                } 
    10891095        } 
    10901096 
    1091         if ( !is_array($cache) ) 
     1097        if ( !is_array( $cache ) ) 
    10921098                $cache = array(); 
    10931099 
    10941100        // Quick check. If we have no posts at all, abort! 
    10951101        if ( !$posts ) { 
    1096                 $gotsome = $wpdb->get_var("SELECT 1 as test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1"); 
     1102                $gotsome = $wpdb->get_var( $wpdb->prepare( "SELECT 1 as test FROM $wpdb->posts WHERE post_type = %s AND post_status = 'publish' LIMIT 1", $post_type ) ); 
    10971103                if ( !$gotsome ) { 
    1098                         $cache[ $key ] = ''; 
     1104                        $cache[$key] = ''; 
    10991105                        wp_cache_set( 'get_calendar', $cache, 'calendar' ); 
    11001106                        return; 
    11011107                } 
    11021108        } 
    11031109 
    1104         if ( isset($_GET['w']) ) 
    1105                 $w = ''.intval($_GET['w']); 
     1110        if ( isset( $_GET['w'] ) ) 
     1111                $w = ''.intval( $_GET['w'] ); 
    11061112 
    11071113        // week_begins = 0 stands for Sunday 
    1108         $week_begins = intval(get_option('start_of_week')); 
     1114        $week_begins = intval( get_option( 'start_of_week' ) ); 
    11091115 
    11101116        // Let's figure out when we are 
    1111         if ( !empty($monthnum) && !empty($year) ) { 
    1112                 $thismonth = ''.zeroise(intval($monthnum), 2); 
    1113                 $thisyear = ''.intval($year); 
    1114         } elseif ( !empty($w) ) { 
     1117        if ( !empty( $monthnum ) && !empty( $year ) ) { 
     1118                $thismonth = (string) zeroise( intval( $monthnum ), 2 ); 
     1119                $thisyear  = (string) intval( $year ); 
     1120        } elseif ( !empty( $w ) ) { 
    11151121                // We need to get the month from MySQL 
    1116                 $thisyear = ''.intval(substr($m, 0, 4)); 
    1117                 $d = (($w - 1) * 7) + 6; //it seems MySQL's weeks disagree with PHP's 
    1118                 $thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('{$thisyear}0101', INTERVAL $d DAY) ), '%m')"); 
    1119         } elseif ( !empty($m) ) { 
    1120                 $thisyear = ''.intval(substr($m, 0, 4)); 
    1121                 if ( strlen($m) < 6 ) 
    1122                                 $thismonth = '01'; 
     1122                $thisyear = (string) intval( substr( $m, 0, 4 ) ); 
     1123                $d = ( ( $w - 1 ) * 7 ) + 6; //it seems MySQL's weeks disagree with PHP's 
     1124                $thismonth = $wpdb->get_var( $wpdb->prepare( "SELECT DATE_FORMAT((DATE_ADD(%s, INTERVAL $d DAY) ), '%m')", $thisyear . '0101' ) ); 
     1125        } elseif ( !empty( $m ) ) { 
     1126                $thisyear = (string) intval( substr( $m, 0, 4 ) ); 
     1127                if ( strlen( $m ) < 6 ) 
     1128                        $thismonth = '01'; 
    11231129                else 
    1124                                 $thismonth = ''.zeroise(intval(substr($m, 4, 2)), 2); 
     1130                        $thismonth = (string) zeroise( intval( substr( $m, 4, 2 ) ), 2 ); 
    11251131        } else { 
    1126                 $thisyear = gmdate('Y', current_time('timestamp')); 
    1127                 $thismonth = gmdate('m', current_time('timestamp')); 
     1132                $thisyear  = gmdate( 'Y', current_time( 'timestamp' ) ); 
     1133                $thismonth = gmdate( 'm', current_time( 'timestamp' ) ); 
    11281134        } 
    11291135 
    1130         $unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear); 
    1131         $last_day = date('t', $unixmonth); 
     1136        $unixmonth = mktime( 0, 0 , 0, $thismonth, 1, $thisyear ); 
     1137        $last_day  = date( 't', $unixmonth ); 
    11321138 
    11331139        // Get the next and previous month and year with at least one post 
    1134         $previous = $wpdb->get_row("SELECT MONTH(post_date) AS month, YEAR(post_date) AS year 
    1135                 FROM $wpdb->posts 
    1136                 WHERE post_date < '$thisyear-$thismonth-01' 
    1137                 AND post_type = 'post' AND post_status = 'publish' 
    1138                         ORDER BY post_date DESC 
    1139                         LIMIT 1"); 
    1140         $next = $wpdb->get_row("SELECT MONTH(post_date) AS month, YEAR(post_date) AS year 
    1141                 FROM $wpdb->posts 
    1142                 WHERE post_date > '$thisyear-$thismonth-{$last_day} 23:59:59' 
    1143                 AND post_type = 'post' AND post_status = 'publish' 
    1144                         ORDER BY post_date ASC 
    1145                         LIMIT 1"); 
     1140        $previous = $wpdb->get_row( 
     1141                $wpdb->prepare( 
     1142                        "SELECT MONTH(post_date) AS month, YEAR(post_date) AS year 
     1143                                FROM $wpdb->posts 
     1144                                WHERE post_date < %s 
     1145                                AND post_type = %s AND post_status = 'publish' 
     1146                                ORDER BY post_date DESC 
     1147                                LIMIT 1", 
     1148                        $thisyear . '-' . $thismonth . '-01', 
     1149                        $post_type 
     1150                ) 
     1151        ); 
    11461152 
     1153        $next = $wpdb->get_row( 
     1154                $wpdb->prepare( 
     1155                        "SELECT MONTH(post_date) AS month, YEAR(post_date) AS year 
     1156                                FROM $wpdb->posts 
     1157                                WHERE post_date > %s 
     1158                                AND post_type = %s AND post_status = 'publish' 
     1159                                ORDER BY post_date ASC 
     1160                                LIMIT 1", 
     1161                        $thisyear . '-' . $thismonth . '-' . $last_day . ' 23:59:59', 
     1162                        $post_type 
     1163                ) 
     1164        ); 
     1165 
    11471166        /* translators: Calendar caption: 1: month name, 2: 4-digit year */ 
    1148         $calendar_caption = _x('%1$s %2$s', 'calendar caption'); 
    1149         $calendar_output = '<table id="wp-calendar" summary="' . esc_attr__('Calendar') . '"> 
    1150         <caption>' . sprintf($calendar_caption, $wp_locale->get_month($thismonth), date('Y', $unixmonth)) . '</caption> 
     1167        $calendar_caption = _x( '%1$s %2$s', 'calendar caption' ); 
     1168        $calendar_output  = '<table id="wp-calendar" summary="' . esc_attr__( 'Calendar' ) . '"> 
     1169        <caption>' . sprintf( $calendar_caption, $wp_locale->get_month( $thismonth ), date( 'Y', $unixmonth ) ) . '</caption> 
    11511170        <thead> 
    11521171        <tr>'; 
    11531172 
    11541173        $myweek = array(); 
    11551174 
    1156         for ( $wdcount=0; $wdcount<=6; $wdcount++ ) { 
    1157                 $myweek[] = $wp_locale->get_weekday(($wdcount+$week_begins)%7); 
     1175        for ( $wdcount=0; $wdcount <= 6; $wdcount++ ) { 
     1176                $myweek[] = $wp_locale->get_weekday( ( $wdcount + $week_begins ) % 7 ); 
    11581177        } 
    11591178 
    11601179        foreach ( $myweek as $wd ) { 
    1161                 $day_name = (true == $initial) ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd); 
    1162                 $wd = esc_attr($wd); 
     1180                $day_name         = ( true == $initial ) ? $wp_locale->get_weekday_initial( $wd ) : $wp_locale->get_weekday_abbrev( $wd ); 
     1181                $wd               = esc_attr( $wd ); 
    11631182                $calendar_output .= "\n\t\t<th scope=\"col\" title=\"$wd\">$day_name</th>"; 
    11641183        } 
    11651184 
     
    11701189        <tfoot> 
    11711190        <tr>'; 
    11721191 
    1173         if ( $previous ) { 
    1174                 $calendar_output .= "\n\t\t".'<td colspan="3" id="prev"><a href="' . get_month_link($previous->year, $previous->month) . '" title="' . esc_attr( sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($previous->month), date('Y', mktime(0, 0 , 0, $previous->month, 1, $previous->year)))) . '">&laquo; ' . $wp_locale->get_month_abbrev($wp_locale->get_month($previous->month)) . '</a></td>'; 
    1175         } else { 
    1176                 $calendar_output .= "\n\t\t".'<td colspan="3" id="prev" class="pad">&nbsp;</td>'; 
    1177         } 
     1192        if ( $previous ) 
     1193                $calendar_output .= "\n\t\t" . '<td colspan="3" id="prev"><a href="' . get_month_link( $previous->year, $previous->month ) . '" title="' . esc_attr( sprintf(__( 'View posts for %1$s %2$s' ), $wp_locale->get_month( $previous->month ), date( 'Y', mktime( 0, 0 , 0, $previous->month, 1, $previous->year ) ) ) ) . '">&laquo; ' . $wp_locale->get_month_abbrev( $wp_locale->get_month( $previous->month ) ) . '</a></td>'; 
     1194        else 
     1195                $calendar_output .= "\n\t\t" . '<td colspan="3" id="prev" class="pad">&nbsp;</td>'; 
    11781196 
    1179         $calendar_output .= "\n\t\t".'<td class="pad">&nbsp;</td>'; 
     1197        $calendar_output .= "\n\t\t" . '<td class="pad">&nbsp;</td>'; 
    11801198 
    1181         if ( $next ) { 
    1182                 $calendar_output .= "\n\t\t".'<td colspan="3" id="next"><a href="' . get_month_link($next->year, $next->month) . '" title="' . esc_attr( sprintf(__('View posts for %1$s %2$s'), $wp_locale->get_month($next->month), date('Y', mktime(0, 0 , 0, $next->month, 1, $next->year))) ) . '">' . $wp_locale->get_month_abbrev($wp_locale->get_month($next->month)) . ' &raquo;</a></td>'; 
    1183         } else { 
    1184                 $calendar_output .= "\n\t\t".'<td colspan="3" id="next" class="pad">&nbsp;</td>'; 
    1185         } 
     1199        if ( $next ) 
     1200                $calendar_output .= "\n\t\t" . '<td colspan="3" id="next"><a href="' . get_month_link( $next->year, $next->month ) . '" title="' . esc_attr( sprintf( __( 'View posts for %1$s %2$s' ), $wp_locale->get_month( $next->month ), date( 'Y', mktime( 0, 0 , 0, $next->month, 1, $next->year ) ) ) ) . '">' . $wp_locale->get_month_abbrev( $wp_locale->get_month( $next->month ) ) . ' &raquo;</a></td>'; 
     1201        else 
     1202                $calendar_output .= "\n\t\t" . '<td colspan="3" id="next" class="pad">&nbsp;</td>'; 
    11861203 
    11871204        $calendar_output .= ' 
    11881205        </tr> 
     
    11921209        <tr>'; 
    11931210 
    11941211        // Get days with posts 
    1195         $dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date) 
    1196                 FROM $wpdb->posts WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00' 
    1197                 AND post_type = 'post' AND post_status = 'publish' 
    1198                 AND post_date <= '{$thisyear}-{$thismonth}-{$last_day} 23:59:59'", ARRAY_N); 
     1212        $dayswithposts = $wpdb->get_results( 
     1213                $wpdb->prepare( 
     1214                        "SELECT DISTINCT DAYOFMONTH(post_date) 
     1215                                FROM $wpdb->posts WHERE post_date >= %s 
     1216                                AND post_type = %s AND post_status = 'publish' 
     1217                                AND post_date <= %s", 
     1218                        $thisyear . '-' . $thismonth . '-01 00:00:00', 
     1219                        $post_type, 
     1220                        $thisyear . '-' . $thismonth . '-' . $last_day . ' 23:59:59' 
     1221                ), 
     1222                ARRAY_N 
     1223        ); 
    11991224        if ( $dayswithposts ) { 
    12001225                foreach ( (array) $dayswithposts as $daywith ) { 
    12011226                        $daywithpost[] = $daywith[0]; 
     
    12041229                $daywithpost = array(); 
    12051230        } 
    12061231 
    1207         if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'camino') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false) 
     1232        if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false || stripos( $_SERVER['HTTP_USER_AGENT'], 'camino' ) !== false || stripos( $_SERVER['HTTP_USER_AGENT'], 'safari' ) !== false ) 
    12081233                $ak_title_separator = "\n"; 
    12091234        else 
    12101235                $ak_title_separator = ', '; 
    12111236 
    12121237        $ak_titles_for_day = array(); 
    1213         $ak_post_titles = $wpdb->get_results("SELECT ID, post_title, DAYOFMONTH(post_date) as dom " 
    1214                 ."FROM $wpdb->posts " 
    1215                 ."WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00' " 
    1216                 ."AND post_date <= '{$thisyear}-{$thismonth}-{$last_day} 23:59:59' " 
    1217                 ."AND post_type = 'post' AND post_status = 'publish'" 
     1238        $ak_post_titles    = $wpdb->get_results( 
     1239                $wpdb->prepare( 
     1240                        "SELECT ID, post_title, DAYOFMONTH(post_date) as dom 
     1241                                FROM $wpdb->posts 
     1242                                WHERE post_date >= %s 
     1243                                AND post_date <= %s 
     1244                                AND post_type = %s AND post_status = 'publish'", 
     1245                        $thisyear . '-' . $thismonth . '-01 00:00:00', 
     1246                        $thisyear . '-' . $thismonth . '-' . $last_day . ' 23:59:59', 
     1247                        $post_type 
     1248                ) 
    12181249        ); 
    12191250        if ( $ak_post_titles ) { 
    12201251                foreach ( (array) $ak_post_titles as $ak_post_title ) { 
    12211252 
    12221253                                $post_title = esc_attr( apply_filters( 'the_title', $ak_post_title->post_title, $ak_post_title->ID ) ); 
    12231254 
    1224                                 if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) ) 
     1255                                if ( empty( $ak_titles_for_day['day_'.$ak_post_title->dom] ) ) 
    12251256                                        $ak_titles_for_day['day_'.$ak_post_title->dom] = ''; 
    1226                                 if ( empty($ak_titles_for_day["$ak_post_title->dom"]) ) // first one 
     1257                                if ( empty( $ak_titles_for_day["$ak_post_title->dom"] ) ) // first one 
    12271258                                        $ak_titles_for_day["$ak_post_title->dom"] = $post_title; 
    12281259                                else 
    12291260                                        $ak_titles_for_day["$ak_post_title->dom"] .= $ak_title_separator . $post_title; 
     
    12321263 
    12331264 
    12341265        // See how much we should pad in the beginning 
    1235         $pad = calendar_week_mod(date('w', $unixmonth)-$week_begins); 
     1266        $pad = calendar_week_mod( date( 'w', $unixmonth ) - $week_begins ); 
    12361267        if ( 0 != $pad ) 
    1237                 $calendar_output .= "\n\t\t".'<td colspan="'. esc_attr($pad) .'" class="pad">&nbsp;</td>'; 
     1268                $calendar_output .= "\n\t\t".'<td colspan="'. esc_attr( $pad ) .'" class="pad">&nbsp;</td>'; 
    12381269 
    1239         $daysinmonth = intval(date('t', $unixmonth)); 
     1270        $daysinmonth = intval( date( 't', $unixmonth ) ); 
    12401271        for ( $day = 1; $day <= $daysinmonth; ++$day ) { 
    1241                 if ( isset($newrow) && $newrow ) 
     1272                if ( isset( $newrow ) && $newrow ) 
    12421273                        $calendar_output .= "\n\t</tr>\n\t<tr>\n\t\t"; 
    12431274                $newrow = false; 
    12441275 
    1245                 if ( $day == gmdate('j', current_time('timestamp')) && $thismonth == gmdate('m', current_time('timestamp')) && $thisyear == gmdate('Y', current_time('timestamp')) ) 
     1276                if ( $day == gmdate( 'j', current_time( 'timestamp' ) ) && $thismonth == gmdate( 'm', current_time( 'timestamp' ) ) && $thisyear == gmdate( 'Y', current_time( 'timestamp' ) ) ) 
    12461277                        $calendar_output .= '<td id="today">'; 
    12471278                else 
    12481279                        $calendar_output .= '<td>'; 
    12491280 
    1250                 if ( in_array($day, $daywithpost) ) // any posts today? 
    1251                                 $calendar_output .= '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\" title=\"" . esc_attr($ak_titles_for_day[$day]) . "\">$day</a>"; 
     1281                if ( in_array( $day, $daywithpost ) ) // any posts today? 
     1282                                $calendar_output .= '<a href="' . get_day_link( $thisyear, $thismonth, $day ) . "\" title=\"" . esc_attr( $ak_titles_for_day[$day] ) . "\">$day</a>"; 
    12521283                else 
    12531284                        $calendar_output .= $day; 
    12541285                $calendar_output .= '</td>'; 
    12551286 
    1256                 if ( 6 == calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins) ) 
     1287                if ( 6 == calendar_week_mod( date( 'w', mktime( 0, 0 , 0, $thismonth, $day, $thisyear ) ) - $week_begins ) ) 
    12571288                        $newrow = true; 
    12581289        } 
    12591290 
    1260         $pad = 7 - calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins); 
     1291        $pad = 7 - calendar_week_mod( date( 'w', mktime( 0, 0 , 0, $thismonth, $day, $thisyear ) ) - $week_begins ); 
    12611292        if ( $pad != 0 && $pad != 7 ) 
    1262                 $calendar_output .= "\n\t\t".'<td class="pad" colspan="'. esc_attr($pad) .'">&nbsp;</td>'; 
     1293                $calendar_output .= "\n\t\t".'<td class="pad" colspan="' . esc_attr( $pad ) . '">&nbsp;</td>'; 
    12631294 
    12641295        $calendar_output .= "\n\t</tr>\n\t</tbody>\n\t</table>"; 
    12651296 
    1266         $cache[ $key ] = $calendar_output; 
     1297        $cache[$key] = $calendar_output; 
    12671298        wp_cache_set( 'get_calendar', $cache, 'calendar' ); 
    12681299 
    12691300        if ( $echo ) 
    1270                 echo apply_filters( 'get_calendar',  $calendar_output ); 
     1301                echo apply_filters( 'get_calendar', $calendar_output ); 
    12711302        else 
    1272                 return apply_filters( 'get_calendar',  $calendar_output ); 
     1303                return apply_filters( 'get_calendar', $calendar_output ); 
    12731304 
    12741305} 
    12751306 
  • wp-includes/post.php

     
    2626                'hierarchical' => false, 
    2727                'rewrite' => false, 
    2828                'query_var' => false, 
    29                 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ), 
     29                'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats', 'calendar' ), 
    3030        ) ); 
    3131 
    3232        register_post_type( 'page', array( 
     
    12091209 * 
    12101210 * All features are directly associated with a functional area of the edit screen, such as the 
    12111211 * editor or a meta box: 'title', 'editor', 'comments', 'revisions', 'trackbacks', 'author', 
    1212  * 'excerpt', 'page-attributes', 'thumbnail', and 'custom-fields'. 
     1212 * 'excerpt', 'page-attributes', 'thumbnail', 'calendar' and 'custom-fields'. 
    12131213 * 
    12141214 * Additionally, the 'revisions' feature dictates whether the post type will store revisions, 
     1215 * the 'calendar' feature will show the post type in the select box in the calendar widget, 
    12151216 * and the 'comments' feature dicates whether the comments count will show on the edit screen. 
    12161217 * 
    12171218 * @since 3.0.0