diff -r c7c34916027a -r 177826044cd9 wp/wp-admin/includes/class-wp-posts-list-table.php --- a/wp/wp-admin/includes/class-wp-posts-list-table.php Mon Oct 14 18:06:33 2019 +0200 +++ b/wp/wp-admin/includes/class-wp-posts-list-table.php Mon Oct 14 18:28:13 2019 +0200 @@ -74,31 +74,43 @@ public function __construct( $args = array() ) { global $post_type_object, $wpdb; - parent::__construct( array( - 'plural' => 'posts', - 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, - ) ); + parent::__construct( + array( + 'plural' => 'posts', + 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, + ) + ); $post_type = $this->screen->post_type; $post_type_object = get_post_type_object( $post_type ); - $exclude_states = get_post_stati( array( - 'show_in_admin_all_list' => false, - ) ); - $this->user_posts_count = intval( $wpdb->get_var( $wpdb->prepare( " + $exclude_states = get_post_stati( + array( + 'show_in_admin_all_list' => false, + ) + ); + $this->user_posts_count = intval( + $wpdb->get_var( + $wpdb->prepare( + " SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status NOT IN ( '" . implode( "','", $exclude_states ) . "' ) AND post_author = %d - ", $post_type, get_current_user_id() ) ) ); + ", + $post_type, + get_current_user_id() + ) + ) + ); if ( $this->user_posts_count && ! current_user_can( $post_type_object->cap->edit_others_posts ) && empty( $_REQUEST['post_status'] ) && empty( $_REQUEST['all_posts'] ) && empty( $_REQUEST['author'] ) && empty( $_REQUEST['show_sticky'] ) ) { $_GET['author'] = get_current_user_id(); } if ( 'post' === $post_type && $sticky_posts = get_option( 'sticky_posts' ) ) { - $sticky_posts = implode( ', ', array_map( 'absint', (array) $sticky_posts ) ); + $sticky_posts = implode( ', ', array_map( 'absint', (array) $sticky_posts ) ); $this->sticky_posts_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status NOT IN ('trash', 'auto-draft') AND ID IN ($sticky_posts)", $post_type ) ); } } @@ -115,7 +127,6 @@ } /** - * * @return bool */ public function ajax_user_can() { @@ -123,7 +134,6 @@ } /** - * * @global array $avail_post_stati * @global WP_Query $wp_query * @global int $per_page @@ -138,10 +148,10 @@ $this->set_hierarchical_display( is_post_type_hierarchical( $this->screen->post_type ) && 'menu_order title' === $wp_query->query['orderby'] ); $post_type = $this->screen->post_type; - $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' ); + $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' ); /** This filter is documented in wp-admin/includes/post.php */ - $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type ); + $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type ); if ( $this->hierarchical_display ) { $total_items = $wp_query->post_count; @@ -150,7 +160,7 @@ } else { $post_counts = (array) wp_count_posts( $post_type, 'readable' ); - if ( isset( $_REQUEST['post_status'] ) && in_array( $_REQUEST['post_status'] , $avail_post_stati ) ) { + if ( isset( $_REQUEST['post_status'] ) && in_array( $_REQUEST['post_status'], $avail_post_stati ) ) { $total_items = $post_counts[ $_REQUEST['post_status'] ]; } elseif ( isset( $_REQUEST['show_sticky'] ) && $_REQUEST['show_sticky'] ) { $total_items = $this->sticky_posts_count; @@ -175,14 +185,15 @@ $this->is_trash = isset( $_REQUEST['post_status'] ) && $_REQUEST['post_status'] === 'trash'; - $this->set_pagination_args( array( - 'total_items' => $total_items, - 'per_page' => $per_page - ) ); + $this->set_pagination_args( + array( + 'total_items' => $total_items, + 'per_page' => $per_page, + ) + ); } /** - * * @return bool */ public function has_items() { @@ -192,10 +203,11 @@ /** */ public function no_items() { - if ( isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status'] ) + if ( isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status'] ) { echo get_post_type_object( $this->screen->post_type )->labels->not_found_in_trash; - else + } else { echo get_post_type_object( $this->screen->post_type )->labels->not_found; + } } /** @@ -223,9 +235,9 @@ * * @since 4.4.0 * - * @param array $args URL parameters for the link. - * @param string $label Link text. - * @param string $class Optional. Class attribute. Default empty string. + * @param string[] $args Associative array of URL parameters for the link. + * @param string $label Link text. + * @param string $class Optional. Class attribute. Default empty string. * @return string The formatted link string. */ protected function get_edit_link( $args, $label, $class = '' ) { @@ -233,7 +245,7 @@ $class_html = $aria_current = ''; if ( ! empty( $class ) ) { - $class_html = sprintf( + $class_html = sprintf( ' class="%s"', esc_attr( $class ) ); @@ -253,7 +265,6 @@ } /** - * * @global array $locked_post_status This seems to be deprecated. * @global array $avail_post_stati * @return array @@ -263,17 +274,18 @@ $post_type = $this->screen->post_type; - if ( !empty($locked_post_status) ) + if ( ! empty( $locked_post_status ) ) { return array(); + } $status_links = array(); - $num_posts = wp_count_posts( $post_type, 'readable' ); - $total_posts = array_sum( (array) $num_posts ); - $class = ''; + $num_posts = wp_count_posts( $post_type, 'readable' ); + $total_posts = array_sum( (array) $num_posts ); + $class = ''; $current_user_id = get_current_user_id(); - $all_args = array( 'post_type' => $post_type ); - $mine = ''; + $all_args = array( 'post_type' => $post_type ); + $mine = ''; // Subtract post types that are not included in the admin all list. foreach ( get_post_stati( array( 'show_in_admin_all_list' => false ) ) as $state ) { @@ -287,7 +299,7 @@ $mine_args = array( 'post_type' => $post_type, - 'author' => $current_user_id + 'author' => $current_user_id, ); $mine_inner_html = sprintf( @@ -303,7 +315,7 @@ $mine = $this->get_edit_link( $mine_args, $mine_inner_html, $class ); $all_args['all_posts'] = 1; - $class = ''; + $class = ''; } if ( empty( $class ) && ( $this->is_base_request() || isset( $_REQUEST['all_posts'] ) ) ) { @@ -325,7 +337,7 @@ $status_links['mine'] = $mine; } - foreach ( get_post_stati(array('show_in_admin_status_list' => true), 'objects') as $status ) { + foreach ( get_post_stati( array( 'show_in_admin_status_list' => true ), 'objects' ) as $status ) { $class = ''; $status_name = $status->name; @@ -334,13 +346,13 @@ continue; } - if ( isset($_REQUEST['post_status']) && $status_name === $_REQUEST['post_status'] ) { + if ( isset( $_REQUEST['post_status'] ) && $status_name === $_REQUEST['post_status'] ) { $class = 'current'; } $status_args = array( 'post_status' => $status_name, - 'post_type' => $post_type, + 'post_type' => $post_type, ); $status_label = sprintf( @@ -355,8 +367,8 @@ $class = ! empty( $_REQUEST['show_sticky'] ) ? 'current' : ''; $sticky_args = array( - 'post_type' => $post_type, - 'show_sticky' => 1 + 'post_type' => $post_type, + 'show_sticky' => 1, ); $sticky_inner_html = sprintf( @@ -370,11 +382,11 @@ ); $sticky_link = array( - 'sticky' => $this->get_edit_link( $sticky_args, $sticky_inner_html, $class ) + 'sticky' => $this->get_edit_link( $sticky_args, $sticky_inner_html, $class ), ); // Sticky comes after Publish, or if not listed, after All. - $split = 1 + array_search( ( isset( $status_links['publish'] ) ? 'publish' : 'all' ), array_keys( $status_links ) ); + $split = 1 + array_search( ( isset( $status_links['publish'] ) ? 'publish' : 'all' ), array_keys( $status_links ) ); $status_links = array_merge( array_slice( $status_links, 0, $split ), $sticky_link, array_slice( $status_links, $split ) ); } @@ -382,11 +394,10 @@ } /** - * * @return array */ protected function get_bulk_actions() { - $actions = array(); + $actions = array(); $post_type_obj = get_post_type_object( $this->screen->post_type ); if ( current_user_can( $post_type_obj->cap->edit_posts ) ) { @@ -435,11 +446,11 @@ if ( is_object_in_taxonomy( $post_type, 'category' ) ) { $dropdown_options = array( 'show_option_all' => get_taxonomy( 'category' )->labels->all_items, - 'hide_empty' => 0, - 'hierarchical' => 1, - 'show_count' => 0, - 'orderby' => 'name', - 'selected' => $cat + 'hide_empty' => 0, + 'hierarchical' => 1, + 'show_count' => 0, + 'orderby' => 'name', + 'selected' => $cat, ); echo ''; @@ -448,17 +459,78 @@ } /** + * Displays a formats drop-down for filtering items. + * + * @since 5.2.0 + * @access protected + * + * @param string $post_type Post type key. + */ + protected function formats_dropdown( $post_type ) { + /** + * Filters whether to remove the 'Formats' drop-down from the post list table. + * + * @since 5.2.0 + * + * @param bool $disable Whether to disable the drop-down. Default false. + */ + if ( apply_filters( 'disable_formats_dropdown', false ) ) { + return; + } + + // Make sure the dropdown shows only formats with a post count greater than 0. + $used_post_formats = get_terms( + array( + 'taxonomy' => 'post_format', + 'hide_empty' => true, + ) + ); + + /* + * Return if the post type doesn't have post formats, or there are no posts using formats, + * or if we're in the trash. + */ + if ( ! is_object_in_taxonomy( $post_type, 'post_format' ) || ! $used_post_formats || $this->is_trash ) { + return; + } + + $displayed_post_format = isset( $_GET['post_format'] ) ? $_GET['post_format'] : ''; + ?> + + + + ?>
-months_dropdown( $this->screen->post_type ); $this->categories_dropdown( $this->screen->post_type ); + $this->formats_dropdown( $this->screen->post_type ); /** * Fires before the Filter button on the Posts and Pages list tables. @@ -488,9 +560,9 @@ if ( $this->is_trash && current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_others_posts ) && $this->has_items() ) { submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false ); } -?> + ?>
-labels->name; } - $post_status = !empty( $_REQUEST['post_status'] ) ? $_REQUEST['post_status'] : 'all'; - if ( post_type_supports( $post_type, 'comments' ) && !in_array( $post_status, array( 'pending', 'draft', 'future' ) ) ) + $post_status = ! empty( $_REQUEST['post_status'] ) ? $_REQUEST['post_status'] : 'all'; + if ( post_type_supports( $post_type, 'comments' ) && ! in_array( $post_status, array( 'pending', 'draft', 'future' ) ) ) { $posts_columns['comments'] = '' . __( 'Comments' ) . ''; + } $posts_columns['date'] = __( 'Date' ); @@ -580,7 +652,7 @@ * * @since 2.5.0 * - * @param array $post_columns An array of column names. + * @param string[] $post_columns An associative array of column headings. */ $posts_columns = apply_filters( 'manage_pages_columns', $posts_columns ); } else { @@ -590,8 +662,8 @@ * * @since 1.5.0 * - * @param array $posts_columns An array of column names. - * @param string $post_type The post type slug. + * @param string[] $post_columns An associative array of column headings. + * @param string $post_type The post type slug. */ $posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type ); } @@ -603,13 +675,12 @@ * * @since 3.0.0 * - * @param array $post_columns An array of column names. + * @param string[] $post_columns An associative array of column headings. */ return apply_filters( "manage_{$post_type}_posts_columns", $posts_columns ); } /** - * * @return array */ protected function get_sortable_columns() { @@ -617,7 +688,7 @@ 'title' => 'title', 'parent' => 'parent', 'comments' => 'comment_count', - 'date' => array( 'date', true ) + 'date' => array( 'date', true ), ); } @@ -630,8 +701,9 @@ public function display_rows( $posts = array(), $level = 0 ) { global $wp_query, $per_page; - if ( empty( $posts ) ) + if ( empty( $posts ) ) { $posts = $wp_query->posts; + } add_filter( 'the_title', 'esc_html' ); @@ -647,16 +719,22 @@ * @param int $level */ private function _display_rows( $posts, $level = 0 ) { + $post_type = $this->screen->post_type; + // Create array of post IDs. $post_ids = array(); - foreach ( $posts as $a_post ) + foreach ( $posts as $a_post ) { $post_ids[] = $a_post->ID; + } - $this->comment_pending_count = get_pending_comments_num( $post_ids ); + if ( post_type_supports( $post_type, 'comments' ) ) { + $this->comment_pending_count = get_pending_comments_num( $post_ids ); + } - foreach ( $posts as $post ) + foreach ( $posts as $post ) { $this->single_row( $post, $level ); + } } /** @@ -674,8 +752,9 @@ if ( ! $pages ) { $pages = get_pages( array( 'sort_column' => 'menu_order' ) ); - if ( ! $pages ) + if ( ! $pages ) { return; + } } /* @@ -688,7 +767,7 @@ if ( empty( $_REQUEST['s'] ) ) { $top_level_pages = array(); - $children_pages = array(); + $children_pages = array(); foreach ( $pages as $page ) { @@ -699,43 +778,47 @@ clean_post_cache( $page ); } - if ( 0 == $page->post_parent ) + if ( 0 == $page->post_parent ) { $top_level_pages[] = $page; - else + } else { $children_pages[ $page->post_parent ][] = $page; + } } $pages = &$top_level_pages; } - $count = 0; - $start = ( $pagenum - 1 ) * $per_page; - $end = $start + $per_page; + $count = 0; + $start = ( $pagenum - 1 ) * $per_page; + $end = $start + $per_page; $to_display = array(); foreach ( $pages as $page ) { - if ( $count >= $end ) + if ( $count >= $end ) { break; + } if ( $count >= $start ) { - $to_display[$page->ID] = $level; + $to_display[ $page->ID ] = $level; } $count++; - if ( isset( $children_pages ) ) + if ( isset( $children_pages ) ) { $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display ); + } } // If it is the last pagenum and there are orphaned pages, display them with paging as well. - if ( isset( $children_pages ) && $count < $end ){ - foreach ( $children_pages as $orphans ){ + if ( isset( $children_pages ) && $count < $end ) { + foreach ( $children_pages as $orphans ) { foreach ( $orphans as $op ) { - if ( $count >= $end ) + if ( $count >= $end ) { break; + } if ( $count >= $start ) { - $to_display[$op->ID] = 0; + $to_display[ $op->ID ] = 0; } $count++; @@ -772,20 +855,22 @@ * @param array $to_display List of pages to be displayed. Passed by reference. */ private function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page, &$to_display ) { - if ( ! isset( $children_pages[$parent] ) ) + if ( ! isset( $children_pages[ $parent ] ) ) { return; + } $start = ( $pagenum - 1 ) * $per_page; - $end = $start + $per_page; + $end = $start + $per_page; - foreach ( $children_pages[$parent] as $page ) { - if ( $count >= $end ) + foreach ( $children_pages[ $parent ] as $page ) { + if ( $count >= $end ) { break; + } // If the page starts in a subtree, print the parents. if ( $count == $start && $page->post_parent > 0 ) { $my_parents = array(); - $my_parent = $page->post_parent; + $my_parent = $page->post_parent; while ( $my_parent ) { // Get the ID from the list or the attribute if my_parent is an object $parent_id = $my_parent; @@ -793,21 +878,22 @@ $parent_id = $my_parent->ID; } - $my_parent = get_post( $parent_id ); + $my_parent = get_post( $parent_id ); $my_parents[] = $my_parent; - if ( !$my_parent->post_parent ) + if ( ! $my_parent->post_parent ) { break; + } $my_parent = $my_parent->post_parent; } $num_parents = count( $my_parents ); while ( $my_parent = array_pop( $my_parents ) ) { - $to_display[$my_parent->ID] = $level - $num_parents; + $to_display[ $my_parent->ID ] = $level - $num_parents; $num_parents--; } } if ( $count >= $start ) { - $to_display[$page->ID] = $level; + $to_display[ $page->ID ] = $level; } $count++; @@ -815,7 +901,7 @@ $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display ); } - unset( $children_pages[$parent] ); //required in order to keep track of orphans + unset( $children_pages[ $parent ] ); //required in order to keep track of orphans } /** @@ -826,22 +912,28 @@ * @param WP_Post $post The current WP_Post object. */ public function column_cb( $post ) { - if ( current_user_can( 'edit_post', $post->ID ) ): ?> - + if ( current_user_can( 'edit_post', $post->ID ) ) : + ?> +
- + + ?> +
- ID ); if ( $lock_holder ) { - $lock_holder = get_userdata( $lock_holder ); + $lock_holder = get_userdata( $lock_holder ); $locked_avatar = get_avatar( $lock_holder->ID, 18 ); - $locked_text = esc_html( sprintf( __( '%s is currently editing' ), $lock_holder->display_name ) ); + $locked_text = esc_html( sprintf( __( '%s is currently editing' ), $lock_holder->display_name ) ); } else { $locked_avatar = $locked_text = ''; } @@ -910,21 +1002,7 @@ } $pad = str_repeat( '— ', $this->current_level ); - echo ""; - - $format = get_post_format( $post->ID ); - if ( $format ) { - $label = get_post_format_string( $format ); - - $format_class = 'post-state-format post-format-icon post-format-' . $format; - - $format_args = array( - 'post_format' => $format, - 'post_type' => $post->post_type - ); - - echo $this->get_edit_link( $format_args, $label . ':', $format_class ); - } + echo ''; $title = _draft_or_post_title(); @@ -938,7 +1016,11 @@ $title ); } else { - echo $pad . $title; + printf( + '%s%s', + $pad, + $title + ); } _post_states( $post ); @@ -972,12 +1054,12 @@ global $mode; if ( '0000-00-00 00:00:00' === $post->post_date ) { - $t_time = $h_time = __( 'Unpublished' ); + $t_time = $h_time = __( 'Unpublished' ); $time_diff = 0; } else { $t_time = get_the_time( __( 'Y/m/d g:i:s a' ) ); $m_time = $post->post_date; - $time = get_post_time( 'G', true, $post ); + $time = get_post_time( 'G', true, $post ); $time_diff = time() - $time; @@ -1050,7 +1132,7 @@ ?>
comment_pending_count[$post->ID] ) ? $this->comment_pending_count[$post->ID] : 0; + $pending_comments = isset( $this->comment_pending_count[ $post->ID ] ) ? $this->comment_pending_count[ $post->ID ] : 0; $this->comments_bubble( $post->ID, $pending_comments ); ?> @@ -1068,7 +1150,7 @@ public function column_author( $post ) { $args = array( 'post_type' => $post->post_type, - 'author' => get_the_author_meta( 'ID' ) + 'author' => get_the_author_meta( 'ID' ), ); echo $this->get_edit_link( $args, get_the_author() ); } @@ -1093,9 +1175,9 @@ } if ( $taxonomy ) { $taxonomy_object = get_taxonomy( $taxonomy ); - $terms = get_the_terms( $post->ID, $taxonomy ); + $terms = get_the_terms( $post->ID, $taxonomy ); if ( is_array( $terms ) ) { - $out = array(); + $term_links = array(); foreach ( $terms as $t ) { $posts_in_term_qv = array(); if ( 'post' != $post->post_type ) { @@ -1105,14 +1187,27 @@ $posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug; } else { $posts_in_term_qv['taxonomy'] = $taxonomy; - $posts_in_term_qv['term'] = $t->slug; + $posts_in_term_qv['term'] = $t->slug; } $label = esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) ); - $out[] = $this->get_edit_link( $posts_in_term_qv, $label ); + + $term_links[] = $this->get_edit_link( $posts_in_term_qv, $label ); } + + /** + * Filters the links in `$taxonomy` column of edit.php. + * + * @since 5.2.0 + * + * @param array $term_links List of links to edit.php, filtered by the taxonomy term. + * @param string $taxonomy Taxonomy name. + * @param array $terms Array of terms appearing in the post row. + */ + $term_links = apply_filters( 'post_column_taxonomy_links', $term_links, $taxonomy, $terms ); + /* translators: used between list items, there is a space after the comma */ - echo join( __( ', ' ), $out ); + echo join( __( ', ' ), $term_links ); } else { echo '' . $taxonomy_object->labels->no_terms . ''; } @@ -1171,7 +1266,7 @@ public function single_row( $post, $level = 0 ) { $global_post = get_post(); - $post = get_post( $post ); + $post = get_post( $post ); $this->current_level = $level; $GLOBALS['post'] = $post; @@ -1185,16 +1280,16 @@ } if ( $post->post_parent ) { - $count = count( get_post_ancestors( $post->ID ) ); - $classes .= ' level-'. $count; + $count = count( get_post_ancestors( $post->ID ) ); + $classes .= ' level-' . $count; } else { - $classes .= ' level-0'; + $classes .= ' level-0'; } - ?> + ?> single_row_columns( $post ); ?> - post_type ); - $can_edit_post = current_user_can( 'edit_post', $post->ID ); - $actions = array(); - $title = _draft_or_post_title(); + $can_edit_post = current_user_can( 'edit_post', $post->ID ); + $actions = array(); + $title = _draft_or_post_title(); if ( $can_edit_post && 'trash' != $post->post_status ) { $actions['edit'] = sprintf( @@ -1237,12 +1332,15 @@ esc_attr( sprintf( __( 'Edit “%s”' ), $title ) ), __( 'Edit' ) ); - $actions['inline hide-if-no-js'] = sprintf( - '%s', - /* translators: %s: post title */ - esc_attr( sprintf( __( 'Quick edit “%s” inline' ), $title ) ), - __( 'Quick Edit' ) - ); + + if ( 'wp_block' !== $post->post_type ) { + $actions['inline hide-if-no-js'] = sprintf( + '', + /* translators: %s: post title */ + esc_attr( sprintf( __( 'Quick edit “%s” inline' ), $title ) ), + __( 'Quick Edit' ) + ); + } } if ( current_user_can( 'delete_post', $post->ID ) ) { @@ -1277,7 +1375,7 @@ if ( is_post_type_viewable( $post_type_object ) ) { if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ) ) ) { if ( $can_edit_post ) { - $preview_link = get_preview_post_link( $post ); + $preview_link = get_preview_post_link( $post ); $actions['view'] = sprintf( '%s', esc_url( $preview_link ), @@ -1297,6 +1395,16 @@ } } + if ( 'wp_block' === $post->post_type ) { + $actions['export'] = sprintf( + '', + $post->ID, + /* translators: %s: post title */ + esc_attr( sprintf( __( 'Export “%s” as JSON' ), $title ) ), + __( 'Export as JSON' ) + ); + } + if ( is_post_type_hierarchical( $post->post_type ) ) { /** @@ -1306,10 +1414,10 @@ * * @since 2.8.0 * - * @param array $actions An array of row action links. Defaults are - * 'Edit', 'Quick Edit', 'Restore', 'Trash', - * 'Delete Permanently', 'Preview', and 'View'. - * @param WP_Post $post The post object. + * @param string[] $actions An array of row action links. Defaults are + * 'Edit', 'Quick Edit', 'Restore', 'Trash', + * 'Delete Permanently', 'Preview', and 'View'. + * @param WP_Post $post The post object. */ $actions = apply_filters( 'page_row_actions', $actions, $post ); } else { @@ -1321,10 +1429,10 @@ * * @since 2.8.0 * - * @param array $actions An array of row action links. Defaults are - * 'Edit', 'Quick Edit', 'Restore', 'Trash', - * 'Delete Permanently', 'Preview', and 'View'. - * @param WP_Post $post The post object. + * @param string[] $actions An array of row action links. Defaults are + * 'Edit', 'Quick Edit', 'Restore', 'Trash', + * 'Delete Permanently', 'Preview', and 'View'. + * @param WP_Post $post The post object. */ $actions = apply_filters( 'post_row_actions', $actions, $post ); } @@ -1344,12 +1452,12 @@ $screen = $this->screen; - $post = get_default_post_to_edit( $screen->post_type ); + $post = get_default_post_to_edit( $screen->post_type ); $post_type_object = get_post_type_object( $screen->post_type ); - $taxonomy_names = get_object_taxonomies( $screen->post_type ); + $taxonomy_names = get_object_taxonomies( $screen->post_type ); $hierarchical_taxonomies = array(); - $flat_taxonomies = array(); + $flat_taxonomies = array(); foreach ( $taxonomy_names as $taxonomy_name ) { $taxonomy = get_taxonomy( $taxonomy_name ); @@ -1369,129 +1477,152 @@ continue; } - if ( $taxonomy->hierarchical ) + if ( $taxonomy->hierarchical ) { $hierarchical_taxonomies[] = $taxonomy; - else + } else { $flat_taxonomies[] = $taxonomy; + } } - $m = ( isset( $mode ) && 'excerpt' === $mode ) ? 'excerpt' : 'list'; - $can_publish = current_user_can( $post_type_object->cap->publish_posts ); - $core_columns = array( 'cb' => true, 'date' => true, 'title' => true, 'categories' => true, 'tags' => true, 'comments' => true, 'author' => true ); + $m = ( isset( $mode ) && 'excerpt' === $mode ) ? 'excerpt' : 'list'; + $can_publish = current_user_can( $post_type_object->cap->publish_posts ); + $core_columns = array( + 'cb' => true, + 'date' => true, + 'title' => true, + 'categories' => true, + 'tags' => true, + 'comments' => true, + 'author' => true, + ); - ?> + ?>
post_type}"; $quick_edit_classes = "quick-edit-row quick-edit-row-$hclass inline-edit-{$screen->post_type}"; $bulk = 0; - while ( $bulk < 2 ) { ?> + while ( $bulk < 2 ) { + ?> - - + ?>
-