function my_get_year_archives( $args = '' ) {
global $wpdb, $wp_locale;
$defaults = array(
'date_field' => 'date' ,
'format' => 'html' ,
'echo' => true ,
'limit' => '' ,
'before' => '' ,
'after' => '' ,
'show_post_count' => true ,
) ;
$r = wp_parse_args( $args, $defaults ) ;
extract( $r, EXTR_SKIP ) ;
if ( '' != $limit ) {
$limit = absint( $limit ) ;
$limit = ' LIMIT ' .$limit;
}
$field = 'm.meta_value' ;
$select = "SELECT SUBSTRING($field,1,4) AS `year`, SUBSTRING($field,6,2) AS `month`, SUBSTRING($field,9,2) AS `day`, count(p.ID) AS posts" ;
$where = "WHERE p.post_type = 'post' AND p.post_status = 'publish'" ;
$where .= $wpdb-> prepare( ' AND m.meta_key = %s' , $date_field ) ;
$join = " INNER JOIN $wpdb->postmeta AS m ON m.post_id = p.ID" ;
$where = apply_filters( 'getarchives_where' , $where, $r ) ;
$join = apply_filters( 'getarchives_join' , $join , $r ) ;
$output = '' ;
$query = "$select FROM $wpdb->posts AS p $join $where GROUP BY SUBSTRING($field,1,4), SUBSTRING($field,6,2), SUBSTRING($field,9,2) ORDER BY $field DESC $limit" ;
$key = md5( $query ) ;
$cache = wp_cache_get( 'my_get_year_archives' , 'general' ) ;
if ( ! isset( $cache[ $key ] ) ) {
$arcresults = $wpdb-> get_results( $query ) ;
$cache[ $key ] = $arcresults;
wp_cache_set( 'my_get_year_archives' , $cache, 'general' ) ;
} else {
$arcresults = $cache[ $key ] ;
}
if ( $arcresults ) {
$afterafter = $after;
foreach ( ( array) $arcresults as $arcresult ) {
$url = add_query_arg( array( 'meta_key' => $date_field ) , get_month_link( $arcresult-> year, $arcresult-> month, $arcresult-> day) ) ;
$text = sprintf( '%d' , $arcresult-> year ) .'/' .sprintf ( '%d' , $arcresult-> month ) .'/' .sprintf ( '%d' , $arcresult-> day ) ;
if ( $show_post_count)
$after = ' (' .$arcresult-> posts.')' . $afterafter;
$output .= get_archives_link( $url, $text, $format, $before, $after ) ;
}
}
if ( $echo )
echo $output;
else
return $output;
}
add_action( 'init' , 'my_init' ) ;
function my_init( ) {
global $wp;
$wp-> add_query_var( 'meta_key' ) ;
}
add_action( 'pre_get_posts' , 'my_pre_get_posts' ) ;
function my_pre_get_posts( $query ) {
if ( $query-> is_month ) {
$meta_query = array(
array(
'key' => $query-> get( 'meta_key' ) ,
'value' => $query-> get( 'year' ) .'/' .sprintf ( '%02d' , $query-> get( 'monthnum' ) ) .'/' .sprintf ( '%02d' , $query-> get( 'day' ) ) ,
'compare' => 'LIKE'
) ,
) ;
$query-> set( 'meta_query' , $meta_query ) ;
$query-> set( 'year' , '' ) ;
$query-> set( 'monthnum' , '' ) ;
$query-> set( 'day' , '' ) ;
$query-> set( 'date' , '' ) ;
$query-> set( 'meta_key' , '' ) ;
$query-> set( 'post_type' , 'post' ) ;
}
}
ZnVuY3Rpb24gbXlfZ2V0X3llYXJfYXJjaGl2ZXMoICRhcmdzID0gJycgKSB7CglnbG9iYWwgJHdwZGIsICR3cF9sb2NhbGU7CgoJJGRlZmF1bHRzID0gYXJyYXkoCiAgICAgICAgJ2RhdGVfZmllbGQnID0+ICdkYXRlJywKICAgICAgICAnZm9ybWF0JyA9PiAnaHRtbCcsCiAgICAgICAgJ2VjaG8nID0+IHRydWUsCiAgICAgICAgJ2xpbWl0JyA9PiAnJywKICAgICAgICAnYmVmb3JlJyA9PiAnJywKICAgICAgICAnYWZ0ZXInID0+ICcnLCAKICAgICAgICAnc2hvd19wb3N0X2NvdW50JyA9PiB0cnVlLAogICAgKTsKICAKICAgICRyID0gd3BfcGFyc2VfYXJncyggJGFyZ3MsICRkZWZhdWx0cyApOwogICAgZXh0cmFjdCggJHIsIEVYVFJfU0tJUCApOwogIAogICAgaWYgKCAnJyAhPSAkbGltaXQgKSB7CiAgICAgICAgJGxpbWl0ID0gYWJzaW50KCAkbGltaXQgKTsKICAgICAgICAkbGltaXQgPSAnIExJTUlUICcuJGxpbWl0OwogICAgfQogIAogICAgJGZpZWxkICA9ICdtLm1ldGFfdmFsdWUnOwogICAgJHNlbGVjdCA9ICJTRUxFQ1QgU1VCU1RSSU5HKCRmaWVsZCwxLDQpIEFTIGB5ZWFyYCwgU1VCU1RSSU5HKCRmaWVsZCw2LDIpIEFTIGBtb250aGAsIFNVQlNUUklORygkZmllbGQsOSwyKSBBUyBgZGF5YCwgY291bnQocC5JRCkgQVMgcG9zdHMiOwogICAgJHdoZXJlICA9ICJXSEVSRSBwLnBvc3RfdHlwZSA9ICdwb3N0JyBBTkQgcC5wb3N0X3N0YXR1cyA9ICdwdWJsaXNoJyI7CiAgICAkd2hlcmUgLj0gJHdwZGItPnByZXBhcmUoICcgQU5EIG0ubWV0YV9rZXkgPSAlcycsICRkYXRlX2ZpZWxkICk7CiAgICAkam9pbiAgID0gIiBJTk5FUiBKT0lOICR3cGRiLT5wb3N0bWV0YSBBUyBtIE9OIG0ucG9zdF9pZCA9IHAuSUQiOwogICAgICAKICAgICR3aGVyZSAgPSBhcHBseV9maWx0ZXJzKCAnZ2V0YXJjaGl2ZXNfd2hlcmUnLCAkd2hlcmUsICRyICk7CiAgICAkam9pbiAgID0gYXBwbHlfZmlsdGVycyggJ2dldGFyY2hpdmVzX2pvaW4nICwgJGpvaW4gLCAkciApOwogIAogICAgJG91dHB1dCA9ICcnOwogICAgJHF1ZXJ5ID0gIiRzZWxlY3QgRlJPTSAkd3BkYi0+cG9zdHMgQVMgcCAkam9pbiAkd2hlcmUgR1JPVVAgQlkgU1VCU1RSSU5HKCRmaWVsZCwxLDQpLCBTVUJTVFJJTkcoJGZpZWxkLDYsMiksIFNVQlNUUklORygkZmllbGQsOSwyKSBPUkRFUiBCWSAkZmllbGQgREVTQyAkbGltaXQiOwogICAgJGtleSA9IG1kNSggJHF1ZXJ5ICk7CiAgICAkY2FjaGUgPSB3cF9jYWNoZV9nZXQoICdteV9nZXRfeWVhcl9hcmNoaXZlcycgLCAnZ2VuZXJhbCcgKTsKICAgIGlmICggIWlzc2V0KCAkY2FjaGVbICRrZXkgXSApICkgewogICAgICAgICRhcmNyZXN1bHRzID0gJHdwZGItPmdldF9yZXN1bHRzKCAkcXVlcnkgKTsKICAgICAgICAkY2FjaGVbICRrZXkgXSA9ICRhcmNyZXN1bHRzOwogICAgICAgIHdwX2NhY2hlX3NldCggJ215X2dldF95ZWFyX2FyY2hpdmVzJywgJGNhY2hlLCAnZ2VuZXJhbCcgKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJGFyY3Jlc3VsdHMgPSAkY2FjaGVbICRrZXkgXTsKICAgIH0KICAgIGlmICggJGFyY3Jlc3VsdHMgKSB7CiAgICAgICAgJGFmdGVyYWZ0ZXIgPSAkYWZ0ZXI7CiAgICAgICAgZm9yZWFjaCAoIChhcnJheSkgJGFyY3Jlc3VsdHMgYXMgJGFyY3Jlc3VsdCApIHsKICAgICAgICAgICAgJHVybCA9IGFkZF9xdWVyeV9hcmcoIGFycmF5KCAnbWV0YV9rZXknID0+ICRkYXRlX2ZpZWxkICksIGdldF9tb250aF9saW5rKCAkYXJjcmVzdWx0LT55ZWFyLCAkYXJjcmVzdWx0LT5tb250aCwgJGFyY3Jlc3VsdC0+ZGF5KSApOwogICAgICAgICAgICAkdGV4dCA9IHNwcmludGYoICclZCcsICRhcmNyZXN1bHQtPnllYXIgKS4nLycuc3ByaW50ZiggJyVkJywgJGFyY3Jlc3VsdC0+bW9udGggKS4nLycuc3ByaW50ZiggJyVkJywgJGFyY3Jlc3VsdC0+ZGF5ICk7CiAgICAgICAgICAgIGlmICgkc2hvd19wb3N0X2NvdW50KQogICAgICAgICAgICAgICAgJGFmdGVyID0gJyZuYnNwOygnLiRhcmNyZXN1bHQtPnBvc3RzLicpJyAuICRhZnRlcmFmdGVyOwogICAgICAgICAgICAkb3V0cHV0IC49IGdldF9hcmNoaXZlc19saW5rKCAkdXJsLCAkdGV4dCwgJGZvcm1hdCwgJGJlZm9yZSwgJGFmdGVyICk7CiAgICAgICAgfQogICAgfQogICAgICAgICAgCiAgICBpZiAoICRlY2hvICkKICAgICAgICBlY2hvICRvdXRwdXQ7CiAgICBlbHNlCiAgICAgICAgcmV0dXJuICRvdXRwdXQ7Cn0KICAKYWRkX2FjdGlvbiggJ2luaXQnLCAnbXlfaW5pdCcgKTsKZnVuY3Rpb24gbXlfaW5pdCgpIHsKICAgIGdsb2JhbCAkd3A7CiAgICAkd3AtPmFkZF9xdWVyeV92YXIoICdtZXRhX2tleScgKTsKfQogIAphZGRfYWN0aW9uKCAncHJlX2dldF9wb3N0cycsICdteV9wcmVfZ2V0X3Bvc3RzJyApOwpmdW5jdGlvbiBteV9wcmVfZ2V0X3Bvc3RzKCAkcXVlcnkgKSB7CiAgICBpZiAoICRxdWVyeS0+aXNfbW9udGggKSB7CiAgICAgICAgJG1ldGFfcXVlcnkgPSBhcnJheSgKICAgICAgICAgICAgYXJyYXkoIAogICAgICAgICAgICAgICAgJ2tleScgICAgID0+ICRxdWVyeS0+Z2V0KCAnbWV0YV9rZXknICksCiAgICAgICAgICAgICAgICAndmFsdWUnICAgPT4gJHF1ZXJ5LT5nZXQoICd5ZWFyJyAgICAgKS4nLycuc3ByaW50ZignJTAyZCcsICRxdWVyeS0+Z2V0KCAnbW9udGhudW0nICAgICApKS4nLycuc3ByaW50ZignJTAyZCcsICRxdWVyeS0+Z2V0KCAnZGF5JyAgICAgKSksCiAgICAgICAgICAgICAgICAnY29tcGFyZScgPT4gJ0xJS0UnCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAKICAgICAgICAkcXVlcnktPnNldCggJ21ldGFfcXVlcnknICwgJG1ldGFfcXVlcnkgKTsKICAgICAgICAkcXVlcnktPnNldCggJ3llYXInICAgICAgICwgJycgICAgICAgICAgKTsKICAgICAgICAkcXVlcnktPnNldCggJ21vbnRobnVtJyAgICwgJycgICAgICAgICAgKTsKICAgICAgICAkcXVlcnktPnNldCggJ2RheScgICAsICcnICAgICAgICAgICk7CiAgICAgICAgJHF1ZXJ5LT5zZXQoICdkYXRlJyAgICAgICAsICcnICAgICAgICAgICk7CiAgICAgICAgJHF1ZXJ5LT5zZXQoICdtZXRhX2tleScgICAsICcnICAgICAgICAgICk7CiAgICAgICAgJHF1ZXJ5LT5zZXQoICdwb3N0X3R5cGUnICAsICdwb3N0Jyk7CiAgICB9Cn0=
compilation info
Main.java:1: error: class, interface, or enum expected
function my_get_year_archives( $args = '' ) {
^
Main.java:1: error: empty character literal
function my_get_year_archives( $args = '' ) {
^
Main.java:1: error: unclosed character literal
function my_get_year_archives( $args = '' ) {
^
Main.java:4: error: class, interface, or enum expected
$defaults = array(
^
Main.java:5: error: unclosed character literal
'date_field' => 'date',
^
Main.java:5: error: unclosed character literal
'date_field' => 'date',
^
Main.java:5: error: unclosed character literal
'date_field' => 'date',
^
Main.java:5: error: unclosed character literal
'date_field' => 'date',
^
Main.java:6: error: unclosed character literal
'format' => 'html',
^
Main.java:6: error: unclosed character literal
'format' => 'html',
^
Main.java:6: error: unclosed character literal
'format' => 'html',
^
Main.java:6: error: unclosed character literal
'format' => 'html',
^
Main.java:7: error: unclosed character literal
'echo' => true,
^
Main.java:7: error: unclosed character literal
'echo' => true,
^
Main.java:8: error: unclosed character literal
'limit' => '',
^
Main.java:8: error: unclosed character literal
'limit' => '',
^
Main.java:8: error: empty character literal
'limit' => '',
^
Main.java:8: error: unclosed character literal
'limit' => '',
^
Main.java:9: error: unclosed character literal
'before' => '',
^
Main.java:9: error: unclosed character literal
'before' => '',
^
Main.java:9: error: empty character literal
'before' => '',
^
Main.java:9: error: unclosed character literal
'before' => '',
^
Main.java:10: error: unclosed character literal
'after' => '',
^
Main.java:10: error: unclosed character literal
'after' => '',
^
Main.java:10: error: empty character literal
'after' => '',
^
Main.java:10: error: unclosed character literal
'after' => '',
^
Main.java:11: error: unclosed character literal
'show_post_count' => true,
^
Main.java:11: error: unclosed character literal
'show_post_count' => true,
^
Main.java:14: error: class, interface, or enum expected
$r = wp_parse_args( $args, $defaults );
^
Main.java:15: error: class, interface, or enum expected
extract( $r, EXTR_SKIP );
^
Main.java:17: error: class, interface, or enum expected
if ( '' != $limit ) {
^
Main.java:17: error: empty character literal
if ( '' != $limit ) {
^
Main.java:17: error: unclosed character literal
if ( '' != $limit ) {
^
Main.java:19: error: class, interface, or enum expected
$limit = ' LIMIT '.$limit;
^
Main.java:19: error: unclosed character literal
$limit = ' LIMIT '.$limit;
^
Main.java:19: error: unclosed character literal
$limit = ' LIMIT '.$limit;
^
Main.java:20: error: class, interface, or enum expected
}
^
Main.java:22: error: unclosed character literal
$field = 'm.meta_value';
^
Main.java:22: error: unclosed character literal
$field = 'm.meta_value';
^
Main.java:24: error: class, interface, or enum expected
$where = "WHERE p.post_type = 'post' AND p.post_status = 'publish'";
^
Main.java:25: error: class, interface, or enum expected
$where .= $wpdb->prepare( ' AND m.meta_key = %s', $date_field );
^
Main.java:25: error: unclosed character literal
$where .= $wpdb->prepare( ' AND m.meta_key = %s', $date_field );
^
Main.java:25: error: unclosed character literal
$where .= $wpdb->prepare( ' AND m.meta_key = %s', $date_field );
^
Main.java:26: error: class, interface, or enum expected
$join = " INNER JOIN $wpdb->postmeta AS m ON m.post_id = p.ID";
^
Main.java:28: error: class, interface, or enum expected
$where = apply_filters( 'getarchives_where', $where, $r );
^
Main.java:28: error: unclosed character literal
$where = apply_filters( 'getarchives_where', $where, $r );
^
Main.java:28: error: unclosed character literal
$where = apply_filters( 'getarchives_where', $where, $r );
^
Main.java:29: error: class, interface, or enum expected
$join = apply_filters( 'getarchives_join' , $join , $r );
^
Main.java:29: error: unclosed character literal
$join = apply_filters( 'getarchives_join' , $join , $r );
^
Main.java:29: error: unclosed character literal
$join = apply_filters( 'getarchives_join' , $join , $r );
^
Main.java:31: error: class, interface, or enum expected
$output = '';
^
Main.java:31: error: empty character literal
$output = '';
^
Main.java:31: error: unclosed character literal
$output = '';
^
Main.java:33: error: class, interface, or enum expected
$key = md5( $query );
^
Main.java:34: error: class, interface, or enum expected
$cache = wp_cache_get( 'my_get_year_archives' , 'general' );
^
Main.java:34: error: unclosed character literal
$cache = wp_cache_get( 'my_get_year_archives' , 'general' );
^
Main.java:34: error: unclosed character literal
$cache = wp_cache_get( 'my_get_year_archives' , 'general' );
^
Main.java:34: error: unclosed character literal
$cache = wp_cache_get( 'my_get_year_archives' , 'general' );
^
Main.java:34: error: unclosed character literal
$cache = wp_cache_get( 'my_get_year_archives' , 'general' );
^
Main.java:35: error: class, interface, or enum expected
if ( !isset( $cache[ $key ] ) ) {
^
Main.java:37: error: class, interface, or enum expected
$cache[ $key ] = $arcresults;
^
Main.java:38: error: class, interface, or enum expected
wp_cache_set( 'my_get_year_archives', $cache, 'general' );
^
Main.java:38: error: unclosed character literal
wp_cache_set( 'my_get_year_archives', $cache, 'general' );
^
Main.java:38: error: unclosed character literal
wp_cache_set( 'my_get_year_archives', $cache, 'general' );
^
Main.java:38: error: unclosed character literal
wp_cache_set( 'my_get_year_archives', $cache, 'general' );
^
Main.java:38: error: unclosed character literal
wp_cache_set( 'my_get_year_archives', $cache, 'general' );
^
Main.java:39: error: class, interface, or enum expected
} else {
^
Main.java:41: error: class, interface, or enum expected
}
^
Main.java:44: error: class, interface, or enum expected
foreach ( (array) $arcresults as $arcresult ) {
^
Main.java:45: error: unclosed character literal
$url = add_query_arg( array( 'meta_key' => $date_field ), get_month_link( $arcresult->year, $arcresult->month, $arcresult->day) );
^
Main.java:45: error: unclosed character literal
$url = add_query_arg( array( 'meta_key' => $date_field ), get_month_link( $arcresult->year, $arcresult->month, $arcresult->day) );
^
Main.java:46: error: class, interface, or enum expected
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:46: error: unclosed character literal
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:46: error: unclosed character literal
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:46: error: unclosed character literal
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:46: error: unclosed character literal
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:46: error: unclosed character literal
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:46: error: unclosed character literal
$text = sprintf( '%d', $arcresult->year ).'/'.sprintf( '%d', $arcresult->month ).'/'.sprintf( '%d', $arcresult->day );
^
Main.java:47: error: class, interface, or enum expected
if ($show_post_count)
^
Main.java:48: error: unclosed character literal
$after = ' ('.$arcresult->posts.')' . $afterafter;
^
Main.java:48: error: class, interface, or enum expected
$after = ' ('.$arcresult->posts.')' . $afterafter;
^
Main.java:48: error: unclosed character literal
$after = ' ('.$arcresult->posts.')' . $afterafter;
^
Main.java:49: error: class, interface, or enum expected
$output .= get_archives_link( $url, $text, $format, $before, $after );
^
Main.java:50: error: class, interface, or enum expected
}
^
Main.java:55: error: class, interface, or enum expected
else
^
Main.java:57: error: class, interface, or enum expected
}
^
Main.java:59: error: unclosed character literal
add_action( 'init', 'my_init' );
^
Main.java:59: error: unclosed character literal
add_action( 'init', 'my_init' );
^
Main.java:59: error: unclosed character literal
add_action( 'init', 'my_init' );
^
Main.java:59: error: unclosed character literal
add_action( 'init', 'my_init' );
^
Main.java:60: error: class, interface, or enum expected
function my_init() {
^
Main.java:62: error: class, interface, or enum expected
$wp->add_query_var( 'meta_key' );
^
Main.java:62: error: unclosed character literal
$wp->add_query_var( 'meta_key' );
^
Main.java:62: error: unclosed character literal
$wp->add_query_var( 'meta_key' );
^
Main.java:63: error: class, interface, or enum expected
}
^
Main.java:65: error: unclosed character literal
add_action( 'pre_get_posts', 'my_pre_get_posts' );
^
Main.java:65: error: unclosed character literal
add_action( 'pre_get_posts', 'my_pre_get_posts' );
^
Main.java:65: error: unclosed character literal
add_action( 'pre_get_posts', 'my_pre_get_posts' );
^
Main.java:65: error: unclosed character literal
add_action( 'pre_get_posts', 'my_pre_get_posts' );
^
Main.java:66: error: class, interface, or enum expected
function my_pre_get_posts( $query ) {
^
100 errors
stdout