Update WP and plugins
This commit is contained in:
parent
10a4713229
commit
1fb77fc4ff
864 changed files with 101724 additions and 78262 deletions
|
|
@ -45,17 +45,19 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
add_filter( 'comment_author', array( $this, 'floated_admin_avatar' ), 10, 2 );
|
||||
}
|
||||
|
||||
parent::__construct( array(
|
||||
'plural' => 'comments',
|
||||
'singular' => 'comment',
|
||||
'ajax' => true,
|
||||
'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
|
||||
) );
|
||||
parent::__construct(
|
||||
array(
|
||||
'plural' => 'comments',
|
||||
'singular' => 'comment',
|
||||
'ajax' => true,
|
||||
'screen' => isset( $args['screen'] ) ? $args['screen'] : null,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function floated_admin_avatar( $name, $comment_ID ) {
|
||||
$comment = get_comment( $comment_ID );
|
||||
$avatar = get_avatar( $comment, 32, 'mystery' );
|
||||
$avatar = get_avatar( $comment, 32, 'mystery' );
|
||||
return "$avatar $name";
|
||||
}
|
||||
|
||||
|
|
@ -63,11 +65,10 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
* @return bool
|
||||
*/
|
||||
public function ajax_user_can() {
|
||||
return current_user_can('edit_posts');
|
||||
return current_user_can( 'edit_posts' );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global int $post_id
|
||||
* @global string $comment_status
|
||||
* @global string $search
|
||||
|
|
@ -77,10 +78,11 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
global $post_id, $comment_status, $search, $comment_type;
|
||||
|
||||
$comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all';
|
||||
if ( !in_array( $comment_status, array( 'all', 'moderated', 'approved', 'spam', 'trash' ) ) )
|
||||
if ( ! in_array( $comment_status, array( 'all', 'mine', 'moderated', 'approved', 'spam', 'trash' ) ) ) {
|
||||
$comment_status = 'all';
|
||||
}
|
||||
|
||||
$comment_type = !empty( $_REQUEST['comment_type'] ) ? $_REQUEST['comment_type'] : '';
|
||||
$comment_type = ! empty( $_REQUEST['comment_type'] ) ? $_REQUEST['comment_type'] : '';
|
||||
|
||||
$search = ( isset( $_REQUEST['s'] ) ) ? $_REQUEST['s'] : '';
|
||||
|
||||
|
|
@ -89,7 +91,7 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$user_id = ( isset( $_REQUEST['user_id'] ) ) ? $_REQUEST['user_id'] : '';
|
||||
|
||||
$orderby = ( isset( $_REQUEST['orderby'] ) ) ? $_REQUEST['orderby'] : '';
|
||||
$order = ( isset( $_REQUEST['order'] ) ) ? $_REQUEST['order'] : '';
|
||||
$order = ( isset( $_REQUEST['order'] ) ) ? $_REQUEST['order'] : '';
|
||||
|
||||
$comments_per_page = $this->get_per_page( $comment_status );
|
||||
|
||||
|
|
@ -97,8 +99,7 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
|
||||
if ( isset( $_REQUEST['number'] ) ) {
|
||||
$number = (int) $_REQUEST['number'];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$number = $comments_per_page + min( 8, $comments_per_page ); // Grab a few extra
|
||||
}
|
||||
|
||||
|
|
@ -115,29 +116,39 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
$status_map = array(
|
||||
'mine' => '',
|
||||
'moderated' => 'hold',
|
||||
'approved' => 'approve',
|
||||
'all' => '',
|
||||
'approved' => 'approve',
|
||||
'all' => '',
|
||||
);
|
||||
|
||||
$args = array(
|
||||
'status' => isset( $status_map[$comment_status] ) ? $status_map[$comment_status] : $comment_status,
|
||||
'search' => $search,
|
||||
'user_id' => $user_id,
|
||||
'offset' => $start,
|
||||
'number' => $number,
|
||||
'post_id' => $post_id,
|
||||
'type' => $comment_type,
|
||||
'orderby' => $orderby,
|
||||
'order' => $order,
|
||||
'status' => isset( $status_map[ $comment_status ] ) ? $status_map[ $comment_status ] : $comment_status,
|
||||
'search' => $search,
|
||||
'user_id' => $user_id,
|
||||
'offset' => $start,
|
||||
'number' => $number,
|
||||
'post_id' => $post_id,
|
||||
'type' => $comment_type,
|
||||
'orderby' => $orderby,
|
||||
'order' => $order,
|
||||
'post_type' => $post_type,
|
||||
);
|
||||
|
||||
/**
|
||||
* Filters the arguments for the comment query in the comments list table.
|
||||
*
|
||||
* @since 5.1.0
|
||||
*
|
||||
* @param array $args An array of get_comments() arguments.
|
||||
*/
|
||||
$args = apply_filters( 'comments_list_table_query_args', $args );
|
||||
|
||||
$_comments = get_comments( $args );
|
||||
if ( is_array( $_comments ) ) {
|
||||
update_comment_cache( $_comments );
|
||||
|
||||
$this->items = array_slice( $_comments, 0, $comments_per_page );
|
||||
$this->items = array_slice( $_comments, 0, $comments_per_page );
|
||||
$this->extra_items = array_slice( $_comments, $comments_per_page );
|
||||
|
||||
$_comment_post_ids = array_unique( wp_list_pluck( $_comments, 'comment_post_ID' ) );
|
||||
|
|
@ -145,20 +156,26 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$this->pending_count = get_pending_comments_num( $_comment_post_ids );
|
||||
}
|
||||
|
||||
$total_comments = get_comments( array_merge( $args, array(
|
||||
'count' => true,
|
||||
'offset' => 0,
|
||||
'number' => 0
|
||||
) ) );
|
||||
$total_comments = get_comments(
|
||||
array_merge(
|
||||
$args,
|
||||
array(
|
||||
'count' => true,
|
||||
'offset' => 0,
|
||||
'number' => 0,
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$this->set_pagination_args( array(
|
||||
'total_items' => $total_comments,
|
||||
'per_page' => $comments_per_page,
|
||||
) );
|
||||
$this->set_pagination_args(
|
||||
array(
|
||||
'total_items' => $total_comments,
|
||||
'per_page' => $comments_per_page,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $comment_status
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -176,7 +193,6 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global string $comment_status
|
||||
*/
|
||||
public function no_items() {
|
||||
|
|
@ -190,7 +206,6 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global int $post_id
|
||||
* @global string $comment_status
|
||||
* @global string $comment_type
|
||||
|
|
@ -203,12 +218,19 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
|
||||
$stati = array(
|
||||
/* translators: %s: all comments count */
|
||||
'all' => _nx_noop(
|
||||
'all' => _nx_noop(
|
||||
'All <span class="count">(%s)</span>',
|
||||
'All <span class="count">(%s)</span>',
|
||||
'comments'
|
||||
), // singular not used
|
||||
|
||||
/* translators: %s: current user's comments count */
|
||||
'mine' => _nx_noop(
|
||||
'Mine <span class="count">(%s)</span>',
|
||||
'Mine <span class="count">(%s)</span>',
|
||||
'comments'
|
||||
),
|
||||
|
||||
/* translators: %s: pending comments count */
|
||||
'moderated' => _nx_noop(
|
||||
'Pending <span class="count">(%s)</span>',
|
||||
|
|
@ -217,33 +239,35 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
),
|
||||
|
||||
/* translators: %s: approved comments count */
|
||||
'approved' => _nx_noop(
|
||||
'approved' => _nx_noop(
|
||||
'Approved <span class="count">(%s)</span>',
|
||||
'Approved <span class="count">(%s)</span>',
|
||||
'comments'
|
||||
),
|
||||
|
||||
/* translators: %s: spam comments count */
|
||||
'spam' => _nx_noop(
|
||||
'spam' => _nx_noop(
|
||||
'Spam <span class="count">(%s)</span>',
|
||||
'Spam <span class="count">(%s)</span>',
|
||||
'comments'
|
||||
),
|
||||
|
||||
/* translators: %s: trashed comments count */
|
||||
'trash' => _nx_noop(
|
||||
'trash' => _nx_noop(
|
||||
'Trash <span class="count">(%s)</span>',
|
||||
'Trash <span class="count">(%s)</span>',
|
||||
'comments'
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
if ( !EMPTY_TRASH_DAYS )
|
||||
unset($stati['trash']);
|
||||
if ( ! EMPTY_TRASH_DAYS ) {
|
||||
unset( $stati['trash'] );
|
||||
}
|
||||
|
||||
$link = admin_url( 'edit-comments.php' );
|
||||
if ( !empty($comment_type) && 'all' != $comment_type )
|
||||
if ( ! empty( $comment_type ) && 'all' != $comment_type ) {
|
||||
$link = add_query_arg( 'comment_type', $comment_type, $link );
|
||||
}
|
||||
|
||||
foreach ( $stati as $status => $label ) {
|
||||
$current_link_attributes = '';
|
||||
|
|
@ -252,11 +276,27 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$current_link_attributes = ' class="current" aria-current="page"';
|
||||
}
|
||||
|
||||
if ( !isset( $num_comments->$status ) )
|
||||
if ( 'mine' === $status ) {
|
||||
$current_user_id = get_current_user_id();
|
||||
$num_comments->mine = get_comments(
|
||||
array(
|
||||
'post_id' => $post_id ? $post_id : 0,
|
||||
'user_id' => $current_user_id,
|
||||
'count' => true,
|
||||
)
|
||||
);
|
||||
$link = add_query_arg( 'user_id', $current_user_id, $link );
|
||||
} else {
|
||||
$link = remove_query_arg( 'user_id', $link );
|
||||
}
|
||||
|
||||
if ( ! isset( $num_comments->$status ) ) {
|
||||
$num_comments->$status = 10;
|
||||
}
|
||||
$link = add_query_arg( 'comment_status', $status, $link );
|
||||
if ( $post_id )
|
||||
if ( $post_id ) {
|
||||
$link = add_query_arg( 'p', absint( $post_id ), $link );
|
||||
}
|
||||
/*
|
||||
// I toyed with this, but decided against it. Leaving it in here in case anyone thinks it is a good idea. ~ Mark
|
||||
if ( !empty( $_REQUEST['s'] ) )
|
||||
|
|
@ -264,7 +304,8 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
*/
|
||||
$status_links[ $status ] = "<a href='$link'$current_link_attributes>" . sprintf(
|
||||
translate_nooped_plural( $label, $num_comments->$status ),
|
||||
sprintf( '<span class="%s-count">%s</span>',
|
||||
sprintf(
|
||||
'<span class="%s-count">%s</span>',
|
||||
( 'moderated' === $status ) ? 'pending' : $status,
|
||||
number_format_i18n( $num_comments->$status )
|
||||
)
|
||||
|
|
@ -275,15 +316,15 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
* Filters the comment status links.
|
||||
*
|
||||
* @since 2.5.0
|
||||
* @since 5.1.0 The 'Mine' link was added.
|
||||
*
|
||||
* @param array $status_links An array of fully-formed status links. Default 'All'.
|
||||
* Accepts 'All', 'Pending', 'Approved', 'Spam', and 'Trash'.
|
||||
* @param string[] $status_links An associative array of fully-formed comment status links. Includes 'All', 'Mine',
|
||||
* 'Pending', 'Approved', 'Spam', and 'Trash'.
|
||||
*/
|
||||
return apply_filters( 'comment_status_links', $status_links );
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global string $comment_status
|
||||
*
|
||||
* @return array
|
||||
|
|
@ -292,12 +333,15 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
global $comment_status;
|
||||
|
||||
$actions = array();
|
||||
if ( in_array( $comment_status, array( 'all', 'approved' ) ) )
|
||||
if ( in_array( $comment_status, array( 'all', 'approved' ) ) ) {
|
||||
$actions['unapprove'] = __( 'Unapprove' );
|
||||
if ( in_array( $comment_status, array( 'all', 'moderated' ) ) )
|
||||
}
|
||||
if ( in_array( $comment_status, array( 'all', 'moderated' ) ) ) {
|
||||
$actions['approve'] = __( 'Approve' );
|
||||
if ( in_array( $comment_status, array( 'all', 'moderated', 'approved', 'trash' ) ) )
|
||||
}
|
||||
if ( in_array( $comment_status, array( 'all', 'moderated', 'approved', 'trash' ) ) ) {
|
||||
$actions['spam'] = _x( 'Mark as Spam', 'comment' );
|
||||
}
|
||||
|
||||
if ( 'trash' === $comment_status ) {
|
||||
$actions['untrash'] = __( 'Restore' );
|
||||
|
|
@ -305,16 +349,16 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$actions['unspam'] = _x( 'Not Spam', 'comment' );
|
||||
}
|
||||
|
||||
if ( in_array( $comment_status, array( 'trash', 'spam' ) ) || !EMPTY_TRASH_DAYS )
|
||||
if ( in_array( $comment_status, array( 'trash', 'spam' ) ) || ! EMPTY_TRASH_DAYS ) {
|
||||
$actions['delete'] = __( 'Delete Permanently' );
|
||||
else
|
||||
} else {
|
||||
$actions['trash'] = __( 'Move to Trash' );
|
||||
}
|
||||
|
||||
return $actions;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global string $comment_status
|
||||
* @global string $comment_type
|
||||
*
|
||||
|
|
@ -327,32 +371,36 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
if ( ! isset( $has_items ) ) {
|
||||
$has_items = $this->has_items();
|
||||
}
|
||||
?>
|
||||
?>
|
||||
<div class="alignleft actions">
|
||||
<?php
|
||||
<?php
|
||||
if ( 'top' === $which ) {
|
||||
?>
|
||||
<label class="screen-reader-text" for="filter-by-comment-type"><?php _e( 'Filter by comment type' ); ?></label>
|
||||
<select id="filter-by-comment-type" name="comment_type">
|
||||
<option value=""><?php _e( 'All comment types' ); ?></option>
|
||||
<?php
|
||||
?>
|
||||
<label class="screen-reader-text" for="filter-by-comment-type"><?php _e( 'Filter by comment type' ); ?></label>
|
||||
<select id="filter-by-comment-type" name="comment_type">
|
||||
<option value=""><?php _e( 'All comment types' ); ?></option>
|
||||
<?php
|
||||
/**
|
||||
* Filters the comment types dropdown menu.
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @param array $comment_types An array of comment types. Accepts 'Comments', 'Pings'.
|
||||
* @param string[] $comment_types An array of comment types. Accepts 'Comments', 'Pings'.
|
||||
*/
|
||||
$comment_types = apply_filters( 'admin_comment_types_dropdown', array(
|
||||
'comment' => __( 'Comments' ),
|
||||
'pings' => __( 'Pings' ),
|
||||
) );
|
||||
$comment_types = apply_filters(
|
||||
'admin_comment_types_dropdown',
|
||||
array(
|
||||
'comment' => __( 'Comments' ),
|
||||
'pings' => __( 'Pings' ),
|
||||
)
|
||||
);
|
||||
|
||||
foreach ( $comment_types as $type => $label )
|
||||
echo "\t" . '<option value="' . esc_attr( $type ) . '"' . selected( $comment_type, $type, false ) . ">$label</option>\n";
|
||||
foreach ( $comment_types as $type => $label ) {
|
||||
echo "\t" . '<option value="' . esc_attr( $type ) . '"' . selected( $comment_type, $type, false ) . ">$label</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php
|
||||
</select>
|
||||
<?php
|
||||
/**
|
||||
* Fires just before the Filter submit button for comment types.
|
||||
*
|
||||
|
|
@ -382,14 +430,14 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
* @return string|false
|
||||
*/
|
||||
public function current_action() {
|
||||
if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
|
||||
if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) {
|
||||
return 'delete_all';
|
||||
}
|
||||
|
||||
return parent::current_action();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global int $post_id
|
||||
*
|
||||
* @return array
|
||||
|
|
@ -399,10 +447,11 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
|
||||
$columns = array();
|
||||
|
||||
if ( $this->checkbox )
|
||||
if ( $this->checkbox ) {
|
||||
$columns['cb'] = '<input type="checkbox" />';
|
||||
}
|
||||
|
||||
$columns['author'] = __( 'Author' );
|
||||
$columns['author'] = __( 'Author' );
|
||||
$columns['comment'] = _x( 'Comment', 'column name' );
|
||||
|
||||
if ( ! $post_id ) {
|
||||
|
|
@ -416,14 +465,13 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function get_sortable_columns() {
|
||||
return array(
|
||||
'author' => 'comment_author',
|
||||
'response' => 'comment_post_ID',
|
||||
'date' => 'comment_date'
|
||||
'date' => 'comment_date',
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -441,13 +489,13 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
/**
|
||||
*/
|
||||
public function display() {
|
||||
wp_nonce_field( "fetch-list-" . get_class( $this ), '_ajax_fetch_list_nonce' );
|
||||
wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' );
|
||||
|
||||
$this->display_tablenav( 'top' );
|
||||
|
||||
$this->screen->render_screen_reader_content( 'heading_list' );
|
||||
|
||||
?>
|
||||
?>
|
||||
<table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -461,8 +509,14 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
|
||||
<tbody id="the-extra-comment-list" data-wp-lists="list:comment" style="display: none;">
|
||||
<?php
|
||||
/*
|
||||
* Back up the items to restore after printing the extra items markup.
|
||||
* The extra items may be empty, which will prevent the table nav from displaying later.
|
||||
*/
|
||||
$items = $this->items;
|
||||
$this->items = $this->extra_items;
|
||||
$this->display_rows_or_placeholder();
|
||||
$this->items = $items;
|
||||
?>
|
||||
</tbody>
|
||||
|
||||
|
|
@ -473,7 +527,7 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
</tfoot>
|
||||
|
||||
</table>
|
||||
<?php
|
||||
<?php
|
||||
|
||||
$this->display_tablenav( 'bottom' );
|
||||
}
|
||||
|
|
@ -507,54 +561,58 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
unset( $GLOBALS['post'], $GLOBALS['comment'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate and display row actions links.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @global string $comment_status Status for the current listed comments.
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
* @param string $column_name Current column name.
|
||||
* @param string $primary Primary column name.
|
||||
* @return string|void Comment row actions output.
|
||||
*/
|
||||
protected function handle_row_actions( $comment, $column_name, $primary ) {
|
||||
global $comment_status;
|
||||
/**
|
||||
* Generate and display row actions links.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @global string $comment_status Status for the current listed comments.
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
* @param string $column_name Current column name.
|
||||
* @param string $primary Primary column name.
|
||||
* @return string|void Comment row actions output.
|
||||
*/
|
||||
protected function handle_row_actions( $comment, $column_name, $primary ) {
|
||||
global $comment_status;
|
||||
|
||||
if ( $primary !== $column_name ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if ( ! $this->user_can ) {
|
||||
return;
|
||||
if ( ! $this->user_can ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$the_comment_status = wp_get_comment_status( $comment );
|
||||
|
||||
$out = '';
|
||||
|
||||
$del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
|
||||
$del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
|
||||
$approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
|
||||
|
||||
$url = "comment.php?c=$comment->comment_ID";
|
||||
|
||||
$approve_url = esc_url( $url . "&action=approvecomment&$approve_nonce" );
|
||||
$approve_url = esc_url( $url . "&action=approvecomment&$approve_nonce" );
|
||||
$unapprove_url = esc_url( $url . "&action=unapprovecomment&$approve_nonce" );
|
||||
$spam_url = esc_url( $url . "&action=spamcomment&$del_nonce" );
|
||||
$unspam_url = esc_url( $url . "&action=unspamcomment&$del_nonce" );
|
||||
$trash_url = esc_url( $url . "&action=trashcomment&$del_nonce" );
|
||||
$untrash_url = esc_url( $url . "&action=untrashcomment&$del_nonce" );
|
||||
$delete_url = esc_url( $url . "&action=deletecomment&$del_nonce" );
|
||||
$spam_url = esc_url( $url . "&action=spamcomment&$del_nonce" );
|
||||
$unspam_url = esc_url( $url . "&action=unspamcomment&$del_nonce" );
|
||||
$trash_url = esc_url( $url . "&action=trashcomment&$del_nonce" );
|
||||
$untrash_url = esc_url( $url . "&action=untrashcomment&$del_nonce" );
|
||||
$delete_url = esc_url( $url . "&action=deletecomment&$del_nonce" );
|
||||
|
||||
// Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash.
|
||||
$actions = array(
|
||||
'approve' => '', 'unapprove' => '',
|
||||
'reply' => '',
|
||||
'approve' => '',
|
||||
'unapprove' => '',
|
||||
'reply' => '',
|
||||
'quickedit' => '',
|
||||
'edit' => '',
|
||||
'spam' => '', 'unspam' => '',
|
||||
'trash' => '', 'untrash' => '', 'delete' => ''
|
||||
'edit' => '',
|
||||
'spam' => '',
|
||||
'unspam' => '',
|
||||
'trash' => '',
|
||||
'untrash' => '',
|
||||
'delete' => '',
|
||||
);
|
||||
|
||||
// Not looking at all comments.
|
||||
|
|
@ -565,7 +623,7 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$actions['approve'] = "<a href='$approve_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&new=approved' class='vim-a vim-destructive' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
|
||||
}
|
||||
} else {
|
||||
$actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
|
||||
$actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a' aria-label='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
|
||||
$actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u' aria-label='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
|
||||
}
|
||||
|
||||
|
|
@ -579,16 +637,16 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$actions['untrash'] = "<a href='$untrash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:66cc66:untrash=1' class='vim-z vim-destructive' aria-label='" . esc_attr__( 'Restore this comment from the Trash' ) . "'>" . __( 'Restore' ) . '</a>';
|
||||
}
|
||||
|
||||
if ( 'spam' === $the_comment_status || 'trash' === $the_comment_status || !EMPTY_TRASH_DAYS ) {
|
||||
if ( 'spam' === $the_comment_status || 'trash' === $the_comment_status || ! EMPTY_TRASH_DAYS ) {
|
||||
$actions['delete'] = "<a href='$delete_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::delete=1' class='delete vim-d vim-destructive' aria-label='" . esc_attr__( 'Delete this comment permanently' ) . "'>" . __( 'Delete Permanently' ) . '</a>';
|
||||
} else {
|
||||
$actions['trash'] = "<a href='$trash_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID::trash=1' class='delete vim-d vim-destructive' aria-label='" . esc_attr__( 'Move this comment to the Trash' ) . "'>" . _x( 'Trash', 'verb' ) . '</a>';
|
||||
}
|
||||
|
||||
if ( 'spam' !== $the_comment_status && 'trash' !== $the_comment_status ) {
|
||||
$actions['edit'] = "<a href='comment.php?action=editcomment&c={$comment->comment_ID}' aria-label='" . esc_attr__( 'Edit this comment' ) . "'>". __( 'Edit' ) . '</a>';
|
||||
$actions['edit'] = "<a href='comment.php?action=editcomment&c={$comment->comment_ID}' aria-label='" . esc_attr__( 'Edit this comment' ) . "'>" . __( 'Edit' ) . '</a>';
|
||||
|
||||
$format = '<a data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s" aria-label="%s" href="#">%s</a>';
|
||||
$format = '<button type="button" data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s button-link" aria-expanded="false" aria-label="%s">%s</button>';
|
||||
|
||||
$actions['quickedit'] = sprintf( $format, $comment->comment_ID, $comment->comment_post_ID, 'edit', 'vim-q comment-inline', esc_attr__( 'Quick edit this comment inline' ), __( 'Quick Edit' ) );
|
||||
|
||||
|
|
@ -598,20 +656,21 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
/** This filter is documented in wp-admin/includes/dashboard.php */
|
||||
$actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment );
|
||||
|
||||
$i = 0;
|
||||
$i = 0;
|
||||
$out .= '<div class="row-actions">';
|
||||
foreach ( $actions as $action => $link ) {
|
||||
++$i;
|
||||
( ( ( 'approve' === $action || 'unapprove' === $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
|
||||
|
||||
// Reply and quickedit need a hide-if-no-js span when not added with ajax
|
||||
if ( ( 'reply' === $action || 'quickedit' === $action ) && ! wp_doing_ajax() )
|
||||
if ( ( 'reply' === $action || 'quickedit' === $action ) && ! wp_doing_ajax() ) {
|
||||
$action .= ' hide-if-no-js';
|
||||
elseif ( ( $action === 'untrash' && $the_comment_status === 'trash' ) || ( $action === 'unspam' && $the_comment_status === 'spam' ) ) {
|
||||
if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) )
|
||||
} elseif ( ( $action === 'untrash' && $the_comment_status === 'trash' ) || ( $action === 'unspam' && $the_comment_status === 'spam' ) ) {
|
||||
if ( '1' == get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) ) {
|
||||
$action .= ' approve';
|
||||
else
|
||||
} else {
|
||||
$action .= ' unapprove';
|
||||
}
|
||||
}
|
||||
|
||||
$out .= "<span class='$action'>$sep$link</span>";
|
||||
|
|
@ -624,14 +683,14 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
*/
|
||||
public function column_cb( $comment ) {
|
||||
if ( $this->user_can ) { ?>
|
||||
if ( $this->user_can ) {
|
||||
?>
|
||||
<label class="screen-reader-text" for="cb-select-<?php echo $comment->comment_ID; ?>"><?php _e( 'Select comment' ); ?></label>
|
||||
<input id="cb-select-<?php echo $comment->comment_ID; ?>" type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" />
|
||||
<?php
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -647,7 +706,7 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$parent = get_comment( $comment->comment_parent );
|
||||
if ( $parent ) {
|
||||
$parent_link = esc_url( get_comment_link( $parent ) );
|
||||
$name = get_comment_author( $parent );
|
||||
$name = get_comment_author( $parent );
|
||||
printf(
|
||||
/* translators: %s: comment link */
|
||||
__( 'In reply to %s.' ),
|
||||
|
|
@ -657,23 +716,23 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
comment_text( $comment );
|
||||
if ( $this->user_can ) { ?>
|
||||
<div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">
|
||||
<textarea class="comment" rows="1" cols="1"><?php
|
||||
|
||||
if ( $this->user_can ) {
|
||||
/** This filter is documented in wp-admin/includes/comment.php */
|
||||
echo esc_textarea( apply_filters( 'comment_edit_pre', $comment->comment_content ) );
|
||||
?></textarea>
|
||||
<div class="author-email"><?php echo esc_attr( $comment->comment_author_email ); ?></div>
|
||||
<div class="author"><?php echo esc_attr( $comment->comment_author ); ?></div>
|
||||
<div class="author-url"><?php echo esc_attr( $comment->comment_author_url ); ?></div>
|
||||
<div class="comment_status"><?php echo $comment->comment_approved; ?></div>
|
||||
$comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content );
|
||||
?>
|
||||
<div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">
|
||||
<textarea class="comment" rows="1" cols="1"><?php echo esc_textarea( $comment_content ); ?></textarea>
|
||||
<div class="author-email"><?php echo esc_attr( $comment->comment_author_email ); ?></div>
|
||||
<div class="author"><?php echo esc_attr( $comment->comment_author ); ?></div>
|
||||
<div class="author-url"><?php echo esc_attr( $comment->comment_author_url ); ?></div>
|
||||
<div class="comment_status"><?php echo $comment->comment_approved; ?></div>
|
||||
</div>
|
||||
<?php
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @global string $comment_status
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
|
|
@ -688,7 +747,9 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
$author_url_display = wp_html_excerpt( $author_url_display, 49, '…' );
|
||||
}
|
||||
|
||||
echo "<strong>"; comment_author( $comment ); echo '</strong><br />';
|
||||
echo '<strong>';
|
||||
comment_author( $comment );
|
||||
echo '</strong><br />';
|
||||
if ( ! empty( $author_url_display ) ) {
|
||||
printf( '<a href="%s">%s</a><br />', esc_url( $author_url ), esc_html( $author_url_display ) );
|
||||
}
|
||||
|
|
@ -705,7 +766,13 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
|
||||
$author_ip = get_comment_author_IP( $comment );
|
||||
if ( $author_ip ) {
|
||||
$author_ip_url = add_query_arg( array( 's' => $author_ip, 'mode' => 'detail' ), admin_url( 'edit-comments.php' ) );
|
||||
$author_ip_url = add_query_arg(
|
||||
array(
|
||||
's' => $author_ip,
|
||||
'mode' => 'detail',
|
||||
),
|
||||
admin_url( 'edit-comments.php' )
|
||||
);
|
||||
if ( 'spam' === $comment_status ) {
|
||||
$author_ip_url = add_query_arg( 'comment_status', 'spam', $author_ip_url );
|
||||
}
|
||||
|
|
@ -715,19 +782,19 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
*/
|
||||
public function column_date( $comment ) {
|
||||
/* translators: 1: comment date, 2: comment time */
|
||||
$submitted = sprintf( __( '%1$s at %2$s' ),
|
||||
$submitted = sprintf(
|
||||
__( '%1$s at %2$s' ),
|
||||
/* translators: comment date format. See https://secure.php.net/date */
|
||||
get_comment_date( __( 'Y/m/d' ), $comment ),
|
||||
get_comment_date( __( 'g:i a' ), $comment )
|
||||
);
|
||||
|
||||
echo '<div class="submitted-on">';
|
||||
if ( 'approved' === wp_get_comment_status( $comment ) && ! empty ( $comment->comment_post_ID ) ) {
|
||||
if ( 'approved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_post_ID ) ) {
|
||||
printf(
|
||||
'<a href="%s">%s</a>',
|
||||
esc_url( get_comment_link( $comment ) ),
|
||||
|
|
@ -740,7 +807,6 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
*/
|
||||
public function column_response( $comment ) {
|
||||
|
|
@ -750,15 +816,15 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
return;
|
||||
}
|
||||
|
||||
if ( isset( $this->pending_count[$post->ID] ) ) {
|
||||
$pending_comments = $this->pending_count[$post->ID];
|
||||
if ( isset( $this->pending_count[ $post->ID ] ) ) {
|
||||
$pending_comments = $this->pending_count[ $post->ID ];
|
||||
} else {
|
||||
$_pending_count_temp = get_pending_comments_num( array( $post->ID ) );
|
||||
$pending_comments = $this->pending_count[$post->ID] = $_pending_count_temp[$post->ID];
|
||||
$pending_comments = $this->pending_count[ $post->ID ] = $_pending_count_temp[ $post->ID ];
|
||||
}
|
||||
|
||||
if ( current_user_can( 'edit_post', $post->ID ) ) {
|
||||
$post_link = "<a href='" . get_edit_post_link( $post->ID ) . "' class='comments-edit-item-link'>";
|
||||
$post_link = "<a href='" . get_edit_post_link( $post->ID ) . "' class='comments-edit-item-link'>";
|
||||
$post_link .= esc_html( get_the_title( $post->ID ) ) . '</a>';
|
||||
} else {
|
||||
$post_link = esc_html( get_the_title( $post->ID ) );
|
||||
|
|
@ -778,7 +844,6 @@ class WP_Comments_List_Table extends WP_List_Table {
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param WP_Comment $comment The comment object.
|
||||
* @param string $column_name The custom column's name.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue