export_date_options()WP 3.1.0

Creates the date options fields for exporting a given post type.

No Hooks.

Return

null. Nothing (null).

Usage

export_date_options( $post_type );
$post_type(string)
The post type.
Default: 'post'

Notes

  • Global. wpdb. $wpdb WordPress database abstraction object.
  • Global. WP_Locale. $wp_locale WordPress date and time locale object.

Changelog

Since 3.1.0 Introduced.

export_date_options() code WP 6.6.2

function export_date_options( $post_type = 'post' ) {
	global $wpdb, $wp_locale;

	$months = $wpdb->get_results(
		$wpdb->prepare(
			"SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
			FROM $wpdb->posts
			WHERE post_type = %s AND post_status != 'auto-draft'
			ORDER BY post_date DESC",
			$post_type
		)
	);

	$month_count = count( $months );
	if ( ! $month_count || ( 1 === $month_count && 0 === (int) $months[0]->month ) ) {
		return;
	}

	foreach ( $months as $date ) {
		if ( 0 === (int) $date->year ) {
			continue;
		}

		$month = zeroise( $date->month, 2 );

		printf(
			'<option value="%1$s">%2$s</option>',
			esc_attr( $date->year . '-' . $month ),
			$wp_locale->get_month( $month ) . ' ' . $date->year
		);
	}
}