--- a/wp/wp-admin/includes/class-wp-media-list-table.php Wed Sep 21 18:19:35 2022 +0200
+++ b/wp/wp-admin/includes/class-wp-media-list-table.php Tue Sep 27 16:37:53 2022 +0200
@@ -78,12 +78,16 @@
*/
$not_in = array();
- foreach ( _get_cron_array() as $cron ) {
- if ( isset( $cron['upgrader_scheduled_cleanup'] ) ) {
- $details = reset( $cron['upgrader_scheduled_cleanup'] );
+ $crons = _get_cron_array();
- if ( ! empty( $details['args'][0] ) ) {
- $not_in[] = (int) $details['args'][0];
+ if ( is_array( $crons ) ) {
+ foreach ( $crons as $cron ) {
+ if ( isset( $cron['upgrader_scheduled_cleanup'] ) ) {
+ $details = reset( $cron['upgrader_scheduled_cleanup'] );
+
+ if ( ! empty( $details['args'][0] ) ) {
+ $not_in[] = (int) $details['args'][0];
+ }
}
}
}
@@ -147,7 +151,7 @@
);
}
- $type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . __( 'Unattached' ) . '</option>';
+ $type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . _x( 'Unattached', 'media items' ) . '</option>';
$type_links['mine'] = sprintf(
'<option value="mine"%s>%s</option>',
@@ -383,10 +387,14 @@
* Handles the checkbox column output.
*
* @since 4.3.0
+ * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support.
*
- * @param WP_Post $post The current WP_Post object.
+ * @param WP_Post $item The current WP_Post object.
*/
- public function column_cb( $post ) {
+ public function column_cb( $item ) {
+ // Restores the more descriptive, specific name for use within this method.
+ $post = $item;
+
if ( current_user_can( 'edit_post', $post->ID ) ) {
?>
<label class="screen-reader-text" for="cb-select-<?php echo $post->ID; ?>">
@@ -500,7 +508,16 @@
}
}
- echo $h_time;
+ /**
+ * Filters the published time of an attachment displayed in the Media list table.
+ *
+ * @since 6.0.0
+ *
+ * @param string $h_time The published time.
+ * @param WP_Post $post Attachment object.
+ * @param string $column_name The column name.
+ */
+ echo apply_filters( 'media_date_column_time', $h_time, $post, 'date' );
}
/**
@@ -590,11 +607,15 @@
* Handles output for the default column.
*
* @since 4.3.0
+ * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support.
*
- * @param WP_Post $post The current WP_Post object.
+ * @param WP_Post $item The current WP_Post object.
* @param string $column_name Current column name.
*/
- public function column_default( $post, $column_name ) {
+ public function column_default( $item, $column_name ) {
+ // Restores the more descriptive, specific name for use within this method.
+ $post = $item;
+
if ( 'categories' === $column_name ) {
$taxonomy = 'category';
} elseif ( 'tags' === $column_name ) {
@@ -621,8 +642,7 @@
esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) )
);
}
- /* translators: Used between list items, there is a space after the comma. */
- echo implode( __( ', ' ), $out );
+ echo implode( wp_get_list_item_separator(), $out );
} else {
echo '<span aria-hidden="true">—</span><span class="screen-reader-text">' . get_taxonomy( $taxonomy )->labels->no_terms . '</span>';
}
@@ -794,6 +814,15 @@
esc_attr( sprintf( __( 'View “%s”' ), $att_title ) ),
__( 'View' )
);
+
+ $actions['copy'] = sprintf(
+ '<span class="copy-to-clipboard-container"><button type="button" class="button-link copy-attachment-url media-library" data-clipboard-text="%s" aria-label="%s">%s</button><span class="success hidden" aria-hidden="true">%s</span></span>',
+ esc_url( wp_get_attachment_url( $post->ID ) ),
+ /* translators: %s: Attachment title. */
+ esc_attr( sprintf( __( 'Copy “%s” URL to clipboard' ), $att_title ) ),
+ __( 'Copy URL to clipboard' ),
+ __( 'Copied!' )
+ );
}
}
@@ -815,20 +844,25 @@
* Generates and displays row action links.
*
* @since 4.3.0
+ * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support.
*
- * @param WP_Post $post Attachment being acted upon.
+ * @param WP_Post $item Attachment being acted upon.
* @param string $column_name Current column name.
* @param string $primary Primary column name.
* @return string Row actions output for media attachments, or an empty string
* if the current column is not the primary column.
*/
- protected function handle_row_actions( $post, $column_name, $primary ) {
+ protected function handle_row_actions( $item, $column_name, $primary ) {
if ( $primary !== $column_name ) {
return '';
}
$att_title = _draft_or_post_title();
+ $actions = $this->_get_row_actions(
+ $item, // WP_Post object for an attachment.
+ $att_title
+ );
- return $this->row_actions( $this->_get_row_actions( $post, $att_title ) );
+ return $this->row_actions( $actions );
}
}