# MLA_Custom_Fields_List_Table

Extends \WP_List_Table

Class MLA (Media Library Assistant) Custom Fields List Table implements the "Custom Fields" admin settings submenu table

Extends the core WP_List_Table class.

package | Media Library Assistant
since | 2.50

### Methods

## Initializes some properties from $_REQUEST variables, then calls the parent constructor to set some default configs.

    __construct() : void

since | 2.50

## Add hidden fields with the data for use in the inline editor

    _build_inline_data( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML

with row data

## Add rollover actions to a table column

    _build_rollover_actions( $item,  $column) : array

since | 2.50

### Arguments

#### $item

``

#### $column

``

### Response

`array`

Names and URLs of row-level actions

## Access the default list of hidden columns

    _default_hidden_columns() : array

static

since | 2.50

### Response

`array`

default list of hidden columns

## Returns HTML markup for one view that can be used with this table

    _get_view(string $view_slug, array $custom_field_item, string $current_view) : string

since | 2.50

### Arguments

#### $view_slug

`string`

View slug

#### $custom_field_item

`array`

count and labels for the View

#### $current_view

`string`

Slug for current view

### Response

`string`

| false HTML for link to display the view, false if count = zero

## Builds the $default_columns array with translated source texts.

    _localize_default_columns_array() : void

static

since | 2.50

## Checks the current user's permissions

    ajax_user_can() : boolean

since | 2.50

### Response

`boolean`

## Displays checkboxes for using bulk actions. The 'cb' column is given special treatment when columns are processed.

    column_cb( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Source column

    column_data_source( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Supply a column value if no column-specific function has been defined

    column_default( $item,  $column_name) : string

Called when the parent class can't find a method specifically built for a given column. All columns should have a specific method, so this function returns a troubleshooting message.

since | 2.50

### Arguments

#### $item

``

#### $column_name

``

### Response

`string`

Text or HTML to be placed inside the column

## Populate the Delete NULL column

    column_delete_null( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Existing Text column

    column_existing_text( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Format column

    column_format( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Meta/Template column

    column_meta_name( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Name column

    column_name( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Option column

    column_option( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Bad Name column

    column_rule_name( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Status column

    column_status( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Populate the Visibility column

    column_visibility( $item) : string

since | 2.50

### Arguments

#### $item

``

### Response

`string`

HTML markup to be placed inside the column

## Extra controls to be displayed between bulk actions and pagination

    extra_tablenav( $which) : void

Modeled after class-wp-posts-list-table.php in wp-admin/includes.

since | 2.40

### Arguments

#### $which

``

## Get an associative array ( option_name => option_title ) with the list of bulk actions available on this table.

    get_bulk_actions() : array

since | 2.50

### Response

`array`

Contains all the bulk actions: 'slugs'=>'Visible Titles'

## This method dictates the table's columns and titles

    get_columns() : array

since | 2.50

### Response

`array`

Column information: 'slugs'=>'Visible Titles'

## Get the name of the default primary column.

    get_default_primary_column_name() : string

since | 2.50
access | protected

### Response

`string`

Name of the default primary column

## Returns the list of currently hidden columns from a user option or from default values if the option is not set

    get_hidden_columns() : array

since | 2.50

### Response

`array`

Column information,e.g., array(0 => 'ID_parent, 1 => 'title_name')

## Returns an array where the key is the column that needs to be sortable and the value is db column to sort by. Also notes the current sort column, if set.

    get_sortable_columns() : array

since | 2.50

### Response

`array`

Sortable column information,e.g., 'slugs'=>array('data_values',boolean)

## Returns an associative array listing all the views that can be used with this table.

    get_views() : array

These are listed across the top of the page and managed by WordPress.

since | 2.50

### Response

`array`

View information,e.g., array ( id => link )

## Generate and display row actions links.

    handle_row_actions(object $item, string $column_name, string $primary) : string

since | 2.50
access | protected

### Arguments

#### $item

`object`

Attachment being acted upon.

#### $column_name

`string`

Current column name.

#### $primary

`string`

Primary column name.

### Response

`string`

Row actions output for media attachments.

## Called in the admin_init action because the list_table object isn't created in time to affect the "screen options" setup.

    mla_admin_init() : void

static

since | 2.50

## Get an associative array ( option_name => option_title ) with the list of bulk actions available on this table.

    mla_get_bulk_actions() : array

static

since | 2.50

### Response

`array`

Contains all the bulk actions: 'slugs'=>'Visible Titles'

## Get dropdown box of rule status values, i.e., Active/Inactive.

    mla_get_custom_field_status_dropdown(string $selected = 'any') : string

static

since | 2.50

### Arguments

#### $selected

`string`

Optional. Currently selected status. Default 'any'.

### Response

`string`

HTML markup for dropdown box.

## Return the names and display values of the sortable columns

    mla_get_sortable_columns() : array

static

since | 2.50

### Response

`array`

name => array( orderby value, heading ) for sortable columns

## Handler for filter 'manage_settings_page_mla-settings-menu_columns'

    mla_manage_columns_filter() : array

static

This required filter dictates the table's columns and titles. Set when the file is loaded because the list_table object isn't created in time to affect the "screen options" setup.

since | 2.50

### Response

`array`

list of table columns

## Handler for filter 'get_user_option_managesettings_page_mla-settings-menu-custom_fieldcolumnshidden'

    mla_manage_hidden_columns_filter( $result,  $option,  $user_data) : array

static

Required because the screen.php get_hidden_columns function only uses the get_user_option result. Set when the file is loaded because the object is not created in time for the call from screen.php.

since | 2.50

### Arguments

#### $result

``

#### $option

``

#### $user_data

``

### Response

`array`

updated list of hidden columns

## Process $_REQUEST, building $submenu_arguments

    mla_submenu_arguments(boolean $include_filters = true) : array

static

since | 2.50

### Arguments

#### $include_filters

`boolean`

Optional. Include the "click filter" values in the results. Default true.

### Response

`array`

non-empty view, search, filter and sort arguments

## Display the pagination, adding view, search and filter arguments

    pagination( $which)

since | 2.50

### Arguments

#### $which

``

## Prepares the list of items for displaying

    prepare_items() : void

This is where you prepare your data for display. This method will usually be used to query the database, sort and filter the data, and generally get it ready to be displayed. At a minimum, we should set $this->items and $this->set_pagination_args().

since | 2.50

## Generates (echoes) content for a single row of the table

    single_row( $item) : void

since | 2.50

### Arguments

#### $item

``

### Properties

## Table column definitions

    default_columns : array

static

This array defines table columns and titles where the key is the column slug (and class) and the value is the column's title text.

All of the columns are added to this array by MLA_Custom_Fields_List_Table::_localize_default_columns_array.

since |
var |

### Type(s)

`array`

## Default values for hidden columns

    default_hidden_columns : array

static

This array is used when the user-level option is not set, i.e., the user has not altered the selection of hidden columns.

The value on the right-hand side must match the column slug, e.g., array(0 => 'ID_parent, 1 => 'title_name').

since |
var |

### Type(s)

`array`

## Sortable column definitions

    default_sortable_columns : array

static

This array defines the table columns that can be sorted. The array key is the column slug that needs to be sortable, and the value is database column to sort by. Often, the key and value will be the same, but this is not always the case (as the value is a column name from the database, not the list table).

The array value also contains a boolean which is 'true' if the initial sort order for the column is DESC/Descending.

since |
access | private
var | { @type array $$column_slug { @type string $orderby_name Database column or other sorting slug. @type boolean $descending Optional. True to make the initial orderby DESC. } }

### Type(s)

`array`