WP_List_Table::print_column_headers() WordPress Method
The WP_List_Table::print_column_headers() method is used to print the column headers for a list table. This method takes two arguments: the first is an array of columns to print, and the second is an array of options. The columns to print are specified as an array of column objects. Each column object has a 'name' property, which is used to identify the column, and a 'label' property, which is used to display the column header. The options array is used to specify how the column headers should be displayed. The 'orderby' option can be used to specify the column by which the table should be sorted. The 'headers' option can be used to specify whether the column headers should be displayed as links. This method is called by the WP_List_Table::display() method when the 'display_header' option is set to true.
WP_List_Table::print_column_headers( bool $with_id = true ) #
Prints column headers, accounting for hidden and sortable columns.
Parameters
- $with_id
(bool)(Optional)Whether to set the ID attribute or not
Default value: true
More Information
This method renders out the column headers. Generally, you don’t need to call this directly as it’s handled for you in the display() method.
Source
File: wp-admin/includes/class-wp-list-table.php
public function print_column_headers( $with_id = true ) { list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); $current_url = remove_query_arg( 'paged', $current_url ); if ( isset( $_GET['orderby'] ) ) { $current_orderby = $_GET['orderby']; } else { $current_orderby = ''; } if ( isset( $_GET['order'] ) && 'desc' === $_GET['order'] ) { $current_order = 'desc'; } else { $current_order = 'asc'; } if ( ! empty( $columns['cb'] ) ) { static $cb_counter = 1; $columns['cb'] = '<label class="screen-reader-text" for="cb-select-all-' . $cb_counter . '">' . __( 'Select All' ) . '</label>' . '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" />'; $cb_counter++; } foreach ( $columns as $column_key => $column_display_name ) { $class = array( 'manage-column', "column-$column_key" ); if ( in_array( $column_key, $hidden, true ) ) { $class[] = 'hidden'; } if ( 'cb' === $column_key ) { $class[] = 'check-column'; } elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ), true ) ) { $class[] = 'num'; } if ( $column_key === $primary ) { $class[] = 'column-primary'; } if ( isset( $sortable[ $column_key ] ) ) { list( $orderby, $desc_first ) = $sortable[ $column_key ]; if ( $current_orderby === $orderby ) { $order = 'asc' === $current_order ? 'desc' : 'asc'; $class[] = 'sorted'; $class[] = $current_order; } else { $order = strtolower( $desc_first ); if ( ! in_array( $order, array( 'desc', 'asc' ), true ) ) { $order = $desc_first ? 'desc' : 'asc'; } $class[] = 'sortable'; $class[] = 'desc' === $order ? 'asc' : 'desc'; } $column_display_name = sprintf( '<a href="%s"><span>%s</span><span class="sorting-indicator"></span></a>', esc_url( add_query_arg( compact( 'orderby', 'order' ), $current_url ) ), $column_display_name ); } $tag = ( 'cb' === $column_key ) ? 'td' : 'th'; $scope = ( 'th' === $tag ) ? 'scope="col"' : ''; $id = $with_id ? "id='$column_key'" : ''; if ( ! empty( $class ) ) { $class = "class='" . implode( ' ', $class ) . "'"; } echo "<$tag $scope $id $class>$column_display_name</$tag>"; } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.1.0 | Introduced. |