Lists, flow and drawer hooks
This page lists the 30 hooks of this group. Each entry shows its type, the version it arrived in, where it runs, its arguments and a starting point.
adba_ajax_list_screensadba_ajax_saveadba_async_bulk_actionsadba_async_row_actionsadba_bulk_batch_sizeadba_column_orderadba_column_widthsadba_core_bulk_actionsadba_drawer_typesadba_list_table_columnsadba_list_table_screensadba_metabox_tabs_anchorsadba_metabox_tabs_skip_pluginsadba_mobile_item_actionsadba_prefetch_excludeadba_product_card_fieldsadba_product_card_orderadba_product_cardsadba_product_known_boxesadba_product_tab_iconsadba_quick_search_intentsadba_row_action_buttonsadba_row_action_iconsadba_row_view_actionadba_speculation_rulesadba_term_drag_ordered_taxonomiesadba_term_drag_taxonomiesadba_view_countadba_view_share_capabilityadba_views_drop_params
adba_ajax_list_screens
FilterSince 1.0.0 Runs in src/Modules/Flow/Flow.php.
Filters the screens (ids or bases) whose list tables update through Ajax.
Remove a screen here to give it plain page loads again.
| Argument | Type | Description |
|---|---|---|
$screens | string[] | Screen ids or bases. |
add_filter( 'adba_ajax_list_screens', function ( $screens ) {
return $screens;
} );
adba_ajax_save
FilterSince 2.5.0 Runs in src/Modules/AjaxSave/AjaxSave.php.
Filters whether a classic edit screen saves without reloading. The type is product, order, post or page; another post type is only included when you return true for it.
| Argument | Type | Description |
|---|---|---|
$enabled | bool | Whether the screen type switch is on. |
$type | string | Screen type, empty when the screen is not a classic edit screen. |
$screen | Screen | Current screen. |
add_filter( 'adba_ajax_save', function ( $enabled, $type, $screen ) {
return $enabled;
}, 10, 3 );
adba_async_bulk_actions
FilterSince 2.21.0 Runs in src/Modules/ListTables/QueuedActions.php.
Filters the bulk actions (the value of the action select) that run in the background, in batches (adba_bulk_batch_size) through adba.queue. Add the value of a bulk action of your plugin only when it can be repeated per batch and answers with a redirect. Return an empty list to keep every bulk action native.
| Argument | Type | Description |
|---|---|---|
$actions | string[] | Values of the action select. |
$base | string | Screen base or id, such as edit or woocommerce_page_wc-orders. |
add_filter( 'adba_async_bulk_actions', function ( $actions, $base ) {
return $actions;
}, 10, 2 );
adba_async_row_actions
FilterSince 2.5.0 Runs in src/Modules/ListTables/QueuedActions.php.
Filters the row actions that run in the background through adba.queue: status (order status buttons), trash and untrash. Remove a kind to give it plain page loads again.
| Argument | Type | Description |
|---|---|---|
$kinds | string[] | Kinds, status, trash and untrash by default. |
add_filter( 'adba_async_row_actions', function ( $kinds ) {
return $kinds;
} );
adba_bulk_batch_size
FilterSince 2.21.0 Runs in src/Modules/ListTables/QueuedActions.php.
Filters the number of items a background bulk action sends per request. Every hook of the action runs once per batch, so lower it for actions with heavy hooks.
| Argument | Type | Description |
|---|---|---|
$size | int | Items per request, 10 by default (1 to 100). |
add_filter( 'adba_bulk_batch_size', function ( $size ) {
return $size;
} );
adba_column_order
FilterSince 2.11.0 Runs in src/Modules/ListTables/ColumnOrder.php.
Filters the column order of a list table for a user: column keys, first to last. Keys the table does not have are skipped, columns that are not listed keep their place after the listed ones. The checkbox stays first and the actions column last. An empty list keeps the native order.
| Argument | Type | Description |
|---|---|---|
$order | string[] | Column keys: the user's own order, else the default of their role. |
$screen | string | Screen id. |
$user_id | int | User id. |
add_filter( 'adba_column_order', function ( $order, $screen, $user_id ) {
return $order;
}, 10, 3 );
adba_column_widths
FilterSince 2.11.0 Runs in src/Modules/ColWidths/ColWidths.php.
Filters the column widths of a list for a user (experimental module colwidths): column key => width in pixels, between 48 and 800. They apply from 783px wide; phones show cards and ignore them.
| Argument | Type | Description |
|---|---|---|
$widths | array<string, int> | Column key => width in px. |
$screen | string | Screen id. |
$user_id | int | User id. |
add_filter( 'adba_column_widths', function ( $widths, $screen, $user_id ) {
return $widths;
}, 10, 3 );
adba_core_bulk_actions
FilterSince 2.34.0 Runs in src/Modules/ListTables/BulkGroups.php.
Filters which bulk actions of a list count as standard and stay in the main dropdown. Every other action moves to the dropdown "Plugins and themes". Add the key of your own action to keep it in front.
| Argument | Type | Description |
|---|---|---|
$keys | string[] | Keys of the standard actions: the list table's own and WooCommerce's order actions. |
$screen_id | string | Screen id of the list. |
add_filter( 'adba_core_bulk_actions', function ( $keys, $screen_id ) {
return $keys;
}, 10, 2 );
adba_drawer_types
FilterSince 1.0.0 Runs in src/Modules/Drawer/DrawerTypes.php.
Filters the object types that can be edited in the drawer.
Keys are post type slugs, user or term. Add a custom post type slug to offer the drawer for it.
| Argument | Type | Description |
|---|---|---|
$types | array<string, string> | Type id => label. |
add_filter( 'adba_drawer_types', function ( $types ) {
return $types;
} );
adba_list_table_columns
FilterSince 1.0.0 Runs in src/Modules/ListTables/Columns.php.
Filters the columns of a list table after every plugin has added theirs.
| Argument | Type | Description |
|---|---|---|
$columns | array<string, string> | Column key => label. |
$screen_id | string | Screen id. |
add_filter( 'adba_list_table_columns', function ( $columns, $screen_id ) {
return $columns;
}, 10, 2 );
adba_list_table_screens
FilterSince 1.0.0 Runs in src/Modules/ListTables/ListTables.php.
Filters the screens (ids or bases) that get the list table styling and script.
| Argument | Type | Description |
|---|---|---|
$screens | string[] | Screen ids or bases. |
add_filter( 'adba_list_table_screens', function ( $screens ) {
return $screens;
} );
adba_metabox_tabs_anchors
FilterSince 1.3.0 Runs in src/Modules/MetaBoxTabs/MetaBoxTabs.php.
Filters the meta box after which the tabs appear, per screen id (product edit and order edit).
| Argument | Type | Description |
|---|---|---|
$anchors | array<string, string> | Meta box id keyed by screen id. |
$screen | string | Current screen id. |
add_filter( 'adba_metabox_tabs_anchors', function ( $anchors, $screen ) {
return $anchors;
}, 10, 2 );
adba_metabox_tabs_skip_plugins
FilterSince 1.3.0 Runs in src/Modules/MetaBoxTabs/TabPlan.php.
Filters the plugins whose meta boxes never go into the meta box tabs. Only adding works: core, unknown, woocommerce, addofy and addoback always stay.
| Argument | Type | Description |
|---|---|---|
$plugins | string[] | Plugin slugs (folder names). |
add_filter( 'adba_metabox_tabs_skip_plugins', function ( $plugins ) {
return $plugins;
} );
adba_mobile_item_actions
FilterSince 2.15.0 Runs in src/Modules/ListTables/ActionColumn.php.
Filters which actions of an item show as icon buttons on its card on a phone. Keys left out go to the More menu from the start; the order sets the order of the copies in that menu. Buttons that do not fit on the card's line go to the menu anyway.
| Argument | Type | Description |
|---|---|---|
$keys | string[] | Action keys of the buttons, in order (for example view, edit, quick_edit, panel). |
add_filter( 'adba_mobile_item_actions', function ( $keys ) {
return $keys;
} );
adba_prefetch_exclude
FilterSince 1.0.0 Runs in src/Modules/Flow/Flow.php.
Filters the URL patterns excluded from prefetching.
| Argument | Type | Description |
|---|---|---|
$excludes | array<int, array<string, string>> | Entries with a pathname and/or search pattern. |
add_filter( 'adba_prefetch_exclude', function ( $excludes ) {
return $excludes;
} );
adba_product_card_fields
FilterSince 2.35.0 Runs in src/Modules/ProductCards/ProductCards.php.
Filters the fields of the product cards that sit behind "More fields" (module productcards), as panel id => field classes: the class of the field's wrapper, such as _tax_class_field. Add the rarely used fields of your plugin; a field with a value of its own always stays in view.
| Argument | Type | Description |
|---|---|---|
$fields | array<string, string[]> | Field classes per panel id. |
add_filter( 'adba_product_card_fields', function ( $fields ) {
return $fields;
} );
adba_product_card_order
FilterSince 2.35.0 Runs in src/Modules/ProductCards/ProductCards.php.
Filters the default order of the product cards for a user (module productcards), the user's own panel order included: panels is a list of Product data panel ids (empty: the order of adba_product_cards), boxes the meta box columns (normal, side) with box ids, used as WordPress's meta-box-order while the user has not dragged boxes. Only one of the two is filled per call.
| Argument | Type | Description |
|---|---|---|
$order | array{panels: string[], boxes: array<string, string[]>} | Order. |
$user_id | int | User id. |
add_filter( 'adba_product_card_order', function ( $order, $user_id ) {
return $order;
}, 10, 2 );
adba_product_cards
FilterSince 2.11.0 Runs in src/Modules/ProductCards/ProductCards.php.
Filters the cards of the product screen (module productcards): which Product data panels show as cards, with their title and order, and the weight of the meta boxes in their column. Lower comes first. Boxes that are not listed get 10 (after Product data, before SEO at 90; in the side column after the short description), panels that are not listed 80 (after Advanced). The media card always comes first. Since 2.35.0 the box weights set the default of WordPress's own meta-box-order (the user can drag boxes after that), also in the side column.
| Argument | Type | Description |
|---|---|---|
$cards | array{panels: array<string, array{title: string, order: int}>, boxes: array<string, int>} | Panels and boxes. |
add_filter( 'adba_product_cards', function ( $cards ) {
return $cards;
} );
adba_product_known_boxes
FilterSince 1.3.0 Runs in src/Modules/Products/Products.php.
Filters the product meta boxes offered in the placement setting (the role matrices of the Products module), as box id => title. Add the boxes of your plugin so they can be placed before the product screen was opened once.
| Argument | Type | Description |
|---|---|---|
$items | array<string, string> | Box titles keyed by meta box id. |
add_filter( 'adba_product_known_boxes', function ( $items ) {
return $items;
} );
adba_product_tab_icons
FilterSince 2.16.0 Runs in src/Modules/Products/Products.php.
Filters the icons of the product data tabs (the icon rail), as tab id => icon. The tab id is the key you use in the woocommerce_product_data_tabs filter, so the tab is the list item with the class "{id}_options". The icon is SVG markup (drawn in the tab color through a mask, so use one shape and no colors) or the code of a Dashicons glyph such as "f107". Tabs without an entry keep the icon WooCommerce gives them.
| Argument | Type | Description |
|---|---|---|
$icons | array<string, string> | Icons keyed by tab id. |
add_filter( 'adba_product_tab_icons', function ( $icons ) {
return $icons;
} );
adba_quick_search_intents
FilterSince 2.34.0 Runs in src/Modules/ListTables/QuickSearchIntent.php.
Filters the kinds the quick search may send as adba_qs. Add your own kind here, recognise it in JavaScript with the filter adba.quickSearch.intent, and narrow the query in your own hooks when QuickSearchIntent::requested() returns it.
| Argument | Type | Description |
|---|---|---|
$kinds | string[] | Kinds, by default id, amount and email. |
add_filter( 'adba_quick_search_intents', function ( $kinds ) {
return $kinds;
} );
adba_row_action_buttons
FilterSince 2.35.0 Runs in src/Modules/ListTables/ActionColumn.php.
Filters which actions of a row stay as icon buttons, in the action column and under the title. Every other action goes to the More actions menu. Return action keys (for example view, edit, quick_edit, adba_drawer, trash), or null for the default: up to four buttons in the advanced view, the fixed set in the simple and focus views. The order of the buttons stays that of the list. Destructive actions and raw plugin markup never become a button; a list with none of the keys keeps its first button.
| Argument | Type | Description |
|---|---|---|
$keys | string[]|null | Action keys shown as buttons, null for up to four. |
$list_id | string | List id: products, orders, terms, attributes, customers, comments, users, media, posts, or empty. |
$mode | string | View mode: advanced, simple or focus. |
add_filter( 'adba_row_action_buttons', function ( $keys, $list_id, $mode ) {
return $keys;
}, 10, 3 );
adba_row_action_icons
FilterSince 2.3.0 Runs in src/Modules/ListTables/RowActionIcons.php.
Filters the icons of row actions in the action column of the product and order list.
| Argument | Type | Description |
|---|---|---|
$icons | array<string, string> | Action key => dashicons-* class or SVG path data on a 24px grid. |
add_filter( 'adba_row_action_icons', function ( $icons ) {
return $icons;
} );
adba_row_view_action
FilterSince 2.34.0 Runs in src/Modules/ListTables/ActionColumn.php.
Filters the View action (eye icon) of a row in the action column. By default it opens its URL in a new tab (target _blank, rel noopener), except on the customer and order lists, which stay in the same tab (the order eye is the preview popup). Change url, label or attrs, for example unset attrs target to stay in the same tab, or add a data attribute for your own script. Return the action array.
| Argument | Type | Description |
|---|---|---|
$action | array<string, mixed> | Action: key, label, url, icon, attrs (attribute => value). |
$list_id | string | List id: products, orders, terms, customers, comments, users, media, posts, or empty. |
add_filter( 'adba_row_view_action', function ( $action, $list_id ) {
return $action;
}, 10, 2 );
adba_speculation_rules
FilterSince 2.5.0 Runs in src/Modules/Flow/Flow.php.
Filters the Speculation Rules Addofy prints in the admin (prerender for menu, status and pagination links, prefetch for the other admin links). Keep the exclusions in the conditions: a prerendered page must never change data.
| Argument | Type | Description |
|---|---|---|
$rules | array<string, mixed> | Rules with 'prerender' and 'prefetch' lists. |
$admin_path | string | Path of the admin, for example /wp-admin/ |
add_filter( 'adba_speculation_rules', function ( $rules, $admin_path ) {
return $rules;
}, 10, 2 );
adba_term_drag_ordered_taxonomies
FilterSince 1.0.0 Runs in src/Modules/Terms/TaxonomyPolicy.php.
Filters the taxonomies that use the WooCommerce term order (menu order).
| Argument | Type | Description |
|---|---|---|
$taxonomies | string[] | Taxonomy slugs. |
add_filter( 'adba_term_drag_ordered_taxonomies', function ( $taxonomies ) {
return $taxonomies;
} );
adba_term_drag_taxonomies
FilterSince 1.0.0 Runs in src/Modules/Terms/TaxonomyPolicy.php.
Filters the taxonomies whose terms can be moved by dragging.
| Argument | Type | Description |
|---|---|---|
$taxonomies | string[] | Taxonomy slugs: hierarchical ones, plus flat ones with a manual order. |
add_filter( 'adba_term_drag_taxonomies', function ( $taxonomies ) {
return $taxonomies;
} );
adba_view_count
FilterSince 2.11.0 Runs in src/Modules/Views/ViewCounter.php.
Filters the item count of a saved view before Addofy counts it. Return an int for a list with filters of its own; null lets Addofy count (post type lists and the orders list).
| Argument | Type | Description |
|---|---|---|
$count | int|null | Count, null to let Addofy count. |
$screen | string | Screen id of the list. |
$args | array<int|string, mixed> | Query arguments of the view. |
add_filter( 'adba_view_count', function ( $count, $screen, $args ) {
return $count;
}, 10, 3 );
adba_view_share_capability
FilterSince 2.11.0 Runs in src/Modules/Views/SharedViews.php.
Filters the capability needed to share a saved view with a role or everyone, and to rename, move or delete shared views in the Views tab.
| Argument | Type | Description |
|---|---|---|
$capability | string | Capability, manage_options by default. |
add_filter( 'adba_view_share_capability', function ( $capability ) {
return $capability;
} );
adba_views_drop_params
FilterSince 1.3.0 Runs in src/Modules/Views/ViewStore.php.
Filters the query arguments that never go into a saved view (tokens, paging, bulk actions). Add the one-time arguments of your own list screen here.
| Argument | Type | Description |
|---|---|---|
$params | string[] | Query argument names. |
add_filter( 'adba_views_drop_params', function ( $params ) {
return $params;
} );