require_once( dirname( __FILE__ ) . '/admin.php' );
if ( !current_user_can('export') )
- wp_die(__('You do not have sufficient permissions to export the content of this site.'));
+ wp_die(__('Sorry, you are not allowed to export the content of this site.'));
/** Load WordPress export API */
require_once( ABSPATH . 'wp-admin/includes/export.php' );
form.find('input:radio').change(function() {
filters.slideUp('fast');
switch ( $(this).val() ) {
+ case 'attachment': $('#attachment-filters').slideDown(); break;
case 'posts': $('#post-filters').slideDown(); break;
case 'pages': $('#page-filters').slideDown(); break;
}
if ( $_GET['page_status'] )
$args['status'] = $_GET['page_status'];
- } else {
+ } elseif ( 'attachment' == $_GET['content'] ) {
+ $args['content'] = 'attachment';
+
+ if ( $_GET['attachment_start_date'] || $_GET['attachment_end_date'] ) {
+ $args['start_date'] = $_GET['attachment_start_date'];
+ $args['end_date'] = $_GET['attachment_end_date'];
+ }
+ }
+ else {
$args['content'] = $_GET['content'];
}
/**
- * Filter the export args.
+ * Filters the export args.
*
* @since 3.5.0
*
<p><?php _e('This format, which we call WordPress eXtended RSS or WXR, will contain your posts, pages, comments, custom fields, categories, and tags.'); ?></p>
<p><?php _e('Once you’ve saved the download file, you can use the Import function in another WordPress installation to import the content from this site.'); ?></p>
-<h3><?php _e( 'Choose what to export' ); ?></h3>
+<h2><?php _e( 'Choose what to export' ); ?></h2>
<form method="get" id="export-filters">
+<fieldset>
+<legend class="screen-reader-text"><?php _e( 'Content to export' ); ?></legend>
<input type="hidden" name="download" value="true" />
-<p><label><input type="radio" name="content" value="all" checked="checked" /> <?php _e( 'All content' ); ?></label></p>
-<p class="description"><?php _e( 'This will contain all of your posts, pages, comments, custom fields, terms, navigation menus and custom posts.' ); ?></p>
+<p><label><input type="radio" name="content" value="all" checked="checked" aria-describedby="all-content-desc" /> <?php _e( 'All content' ); ?></label></p>
+<p class="description" id="all-content-desc"><?php _e( 'This will contain all of your posts, pages, comments, custom fields, terms, navigation menus, and custom posts.' ); ?></p>
<p><label><input type="radio" name="content" value="posts" /> <?php _e( 'Posts' ); ?></label></p>
<ul id="post-filters" class="export-filters">
<li>
- <label><?php _e( 'Categories:' ); ?></label>
+ <label><span class="label-responsive"><?php _e( 'Categories:' ); ?></span>
<?php wp_dropdown_categories( array( 'show_option_all' => __('All') ) ); ?>
+ </label>
</li>
<li>
- <label><?php _e( 'Authors:' ); ?></label>
-<?php
+ <label><span class="label-responsive"><?php _e( 'Authors:' ); ?></span>
+ <?php
$authors = $wpdb->get_col( "SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_type = 'post'" );
- wp_dropdown_users( array( 'include' => $authors, 'name' => 'post_author', 'multi' => true, 'show_option_all' => __('All') ) );
-?>
+ wp_dropdown_users( array(
+ 'include' => $authors,
+ 'name' => 'post_author',
+ 'multi' => true,
+ 'show_option_all' => __( 'All' ),
+ 'show' => 'display_name_with_login',
+ ) ); ?>
+ </label>
</li>
<li>
- <label><?php _e( 'Date range:' ); ?></label>
- <select name="post_start_date">
- <option value="0"><?php _e( 'Start Date' ); ?></option>
+ <fieldset>
+ <legend class="screen-reader-text"><?php _e( 'Date range:' ); ?></legend>
+ <label for="post-start-date" class="label-responsive"><?php _e( 'Start date:' ); ?></label>
+ <select name="post_start_date" id="post-start-date">
+ <option value="0"><?php _e( '— Select —' ); ?></option>
<?php export_date_options(); ?>
</select>
- <select name="post_end_date">
- <option value="0"><?php _e( 'End Date' ); ?></option>
+ <label for="post-end-date" class="label-responsive"><?php _e( 'End date:' ); ?></label>
+ <select name="post_end_date" id="post-end-date">
+ <option value="0"><?php _e( '— Select —' ); ?></option>
<?php export_date_options(); ?>
</select>
+ </fieldset>
</li>
<li>
- <label><?php _e( 'Status:' ); ?></label>
- <select name="post_status">
+ <label for="post-status" class="label-responsive"><?php _e( 'Status:' ); ?></label>
+ <select name="post_status" id="post-status">
<option value="0"><?php _e( 'All' ); ?></option>
<?php $post_stati = get_post_stati( array( 'internal' => false ), 'objects' );
foreach ( $post_stati as $status ) : ?>
<p><label><input type="radio" name="content" value="pages" /> <?php _e( 'Pages' ); ?></label></p>
<ul id="page-filters" class="export-filters">
<li>
- <label><?php _e( 'Authors:' ); ?></label>
-<?php
+ <label><span class="label-responsive"><?php _e( 'Authors:' ); ?></span>
+ <?php
$authors = $wpdb->get_col( "SELECT DISTINCT post_author FROM {$wpdb->posts} WHERE post_type = 'page'" );
- wp_dropdown_users( array( 'include' => $authors, 'name' => 'page_author', 'multi' => true, 'show_option_all' => __('All') ) );
-?>
+ wp_dropdown_users( array(
+ 'include' => $authors,
+ 'name' => 'page_author',
+ 'multi' => true,
+ 'show_option_all' => __( 'All' ),
+ 'show' => 'display_name_with_login',
+ ) ); ?>
+ </label>
</li>
<li>
- <label><?php _e( 'Date range:' ); ?></label>
- <select name="page_start_date">
- <option value="0"><?php _e( 'Start Date' ); ?></option>
+ <fieldset>
+ <legend class="screen-reader-text"><?php _e( 'Date range:' ); ?></legend>
+ <label for="page-start-date" class="label-responsive"><?php _e( 'Start date:' ); ?></label>
+ <select name="page_start_date" id="page-start-date">
+ <option value="0"><?php _e( '— Select —' ); ?></option>
<?php export_date_options( 'page' ); ?>
</select>
- <select name="page_end_date">
- <option value="0"><?php _e( 'End Date' ); ?></option>
+ <label for="page-end-date" class="label-responsive"><?php _e( 'End date:' ); ?></label>
+ <select name="page_end_date" id="page-end-date">
+ <option value="0"><?php _e( '— Select —' ); ?></option>
<?php export_date_options( 'page' ); ?>
</select>
+ </fieldset>
</li>
<li>
- <label><?php _e( 'Status:' ); ?></label>
- <select name="page_status">
+ <label for="page-status" class="label-responsive"><?php _e( 'Status:' ); ?></label>
+ <select name="page_status" id="page-status">
<option value="0"><?php _e( 'All' ); ?></option>
<?php foreach ( $post_stati as $status ) : ?>
<option value="<?php echo esc_attr( $status->name ); ?>"><?php echo esc_html( $status->label ); ?></option>
<p><label><input type="radio" name="content" value="<?php echo esc_attr( $post_type->name ); ?>" /> <?php echo esc_html( $post_type->label ); ?></label></p>
<?php endforeach; ?>
+<p><label><input type="radio" name="content" value="attachment" /> <?php _e( 'Media' ); ?></label></p>
+<ul id="attachment-filters" class="export-filters">
+ <li>
+ <fieldset>
+ <legend class="screen-reader-text"><?php _e( 'Date range:' ); ?></legend>
+ <label for="attachment-start-date" class="label-responsive"><?php _e( 'Start date:' ); ?></label>
+ <select name="attachment_start_date" id="attachment-start-date">
+ <option value="0"><?php _e( '— Select —' ); ?></option>
+ <?php export_date_options( 'attachment' ); ?>
+ </select>
+ <label for="attachment-end-date" class="label-responsive"><?php _e( 'End date:' ); ?></label>
+ <select name="attachment_end_date" id="attachment-end-date">
+ <option value="0"><?php _e( '— Select —' ); ?></option>
+ <?php export_date_options( 'attachment' ); ?>
+ </select>
+ </fieldset>
+ </li>
+</ul>
+
+</fieldset>
<?php
/**
- * Fires after the export filters form.
+ * Fires at the end of the export filters form.
*
* @since 3.5.0
*/