wp_enqueue_media();
wp_enqueue_script( 'media-grid' );
wp_enqueue_script( 'media' );
+
+ $q = $_GET;
+ // let JS handle this
+ unset( $q['s'] );
+ $vars = wp_edit_attachments_query_vars( $q );
+ $ignore = array( 'mode', 'post_type', 'post_status', 'posts_per_page' );
+ foreach ( $vars as $key => $value ) {
+ if ( ! $value || in_array( $key, $ignore ) ) {
+ unset( $vars[ $key ] );
+ }
+ }
+
wp_localize_script( 'media-grid', '_wpMediaGridSettings', array(
'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
+ 'queryVars' => (object) $vars
) );
get_current_screen()->add_help_tab( array(
get_current_screen()->set_help_sidebar(
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
- '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
);
require_once( ABSPATH . 'wp-admin/admin-header.php' );
?>
- <div class="wrap">
+ <div class="wrap" id="wp-media-grid" data-search="<?php _admin_search_query() ?>">
<h2>
<?php
echo esc_html( $title );
}
switch ( $doaction ) {
- case 'attach':
- $parent_id = (int) $_REQUEST['found_post_id'];
- if ( !$parent_id )
- return;
-
- $parent = get_post( $parent_id );
- if ( !current_user_can( 'edit_post', $parent_id ) )
- wp_die( __( 'You are not allowed to edit this post.' ) );
-
- $attach = array();
- foreach ( (array) $_REQUEST['media'] as $att_id ) {
- $att_id = (int) $att_id;
-
- if ( !current_user_can( 'edit_post', $att_id ) )
- continue;
-
- $attach[] = $att_id;
- }
-
- if ( ! empty( $attach ) ) {
- $attach_string = implode( ',', $attach );
- $attached = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $attach_string )", $parent_id ) );
- foreach ( $attach as $att_id ) {
- clean_attachment_cache( $att_id );
- }
- }
-
- if ( isset( $attached ) ) {
- $location = 'upload.php';
- if ( $referer = wp_get_referer() ) {
- if ( false !== strpos( $referer, 'upload.php' ) )
- $location = $referer;
- }
+ case 'detach':
+ wp_media_attach_action( $_REQUEST['parent_post_id'], 'detach' );
+ break;
- $location = add_query_arg( array( 'attached' => $attached ) , $location );
- wp_redirect( $location );
- exit;
- }
+ case 'attach':
+ wp_media_attach_action( $_REQUEST['found_post_id'] );
break;
+
case 'trash':
if ( !isset( $post_ids ) )
break;
wp_enqueue_script( 'media' );
-add_screen_option( 'per_page', array('label' => _x( 'Media items', 'items per page (screen options)' )) );
+add_screen_option( 'per_page' );
get_current_screen()->add_help_tab( array(
'id' => 'overview',
get_current_screen()->set_help_sidebar(
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
- '<p>' . __( '<a href="http://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
);
<?php
$message = '';
if ( ! empty( $_GET['posted'] ) ) {
- $message = __('Media attachment updated.');
+ $message = __( 'Media attachment updated.' );
$_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
}
if ( ! empty( $_GET['attached'] ) && $attached = absint( $_GET['attached'] ) ) {
- $message = sprintf( _n('Reattached %d attachment.', 'Reattached %d attachments.', $attached), $attached );
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('attached'), $_SERVER['REQUEST_URI']);
+ $message = sprintf( _n( 'Reattached %d attachment.', 'Reattached %d attachments.', $attached ), $attached );
+ $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
+}
+
+if ( ! empty( $_GET['detach'] ) && $detached = absint( $_GET['detach'] ) ) {
+ $message = sprintf( _n( 'Detached %d attachment.', 'Detached %d attachments.', $detached ), $detached );
+ $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
}
if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
- $message = sprintf( _n( 'Media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted ), number_format_i18n( $_GET['deleted'] ) );
+ if ( 1 == $deleted ) {
+ $message = __( 'Media attachment permanently deleted.' );
+ } else {
+ $message = _n( '%d media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted );
+ }
+ $message = sprintf( $message, number_format_i18n( $deleted ) );
$_SERVER['REQUEST_URI'] = remove_query_arg(array('deleted'), $_SERVER['REQUEST_URI']);
}
if ( ! empty( $_GET['trashed'] ) && $trashed = absint( $_GET['trashed'] ) ) {
- $message = sprintf( _n( 'Media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed ), number_format_i18n( $_GET['trashed'] ) );
+ if ( 1 == $trashed ) {
+ $message = __( 'Media attachment moved to the trash.' );
+ } else {
+ $message = _n( '%d media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed );
+ }
+ $message = sprintf( $message, number_format_i18n( $trashed ) );
$message .= ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
$_SERVER['REQUEST_URI'] = remove_query_arg(array('trashed'), $_SERVER['REQUEST_URI']);
}
if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] ) ) {
- $message = sprintf( _n( 'Media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed ), number_format_i18n( $_GET['untrashed'] ) );
+ if ( 1 == $untrashed ) {
+ $message = __( 'Media attachment restored from the trash.' );
+ } else {
+ $message = _n( '%d media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed );
+ }
+ $message = sprintf( $message, number_format_i18n( $untrashed ) );
$_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
}
}
if ( !empty($message) ) { ?>
-<div id="message" class="updated"><p><?php echo $message; ?></p></div>
+<div id="message" class="updated notice is-dismissible"><p><?php echo $message; ?></p></div>
<?php } ?>
-<form id="posts-filter" action="" method="get">
+<form id="posts-filter" method="get">
<?php $wp_list_table->views(); ?>