Filter uncanny-automator

automator_setup_action_logs_sortables

Filters the available sortable columns for action logs before they are displayed.

add_filter( 'automator_setup_action_logs_sortables', $callback, 10, 1 );

Description

Allows developers to modify the sortable columns available in the Automator action logs. You can add, remove, or alter the properties of existing sortable columns to customize the logging interface. This filter fires when the action logs view is initialized.


Usage

add_filter( 'automator_setup_action_logs_sortables', 'your_function_name', 10, 1 );

Parameters

$sortables (mixed)
This parameter provides an array of sortable columns for the automator action logs, allowing users to organize the log data.

Return Value

The filtered value.


Examples

/**
 * Add a custom sortable column for 'action_status' to the Automator action logs table.
 *
 * This function hooks into the 'automator_setup_action_logs_sortables' filter
 * to modify the array of sortable columns for the Automator plugin's action logs.
 * It adds a new column 'action_status' that is sortable.
 *
 * @param array $sortables The original array of sortable columns.
 * @return array The modified array of sortable columns with 'action_status' added.
 */
function my_custom_automator_action_logs_sortables( $sortables ) {
    // Add a new sortable column for 'action_status'.
    // The first element in the array is the key for the column,
    // and the second element (true) indicates it is sortable.
    $sortables['action_status'] = array( 'action_status', true );

    return $sortables;
}
add_filter( 'automator_setup_action_logs_sortables', 'my_custom_automator_action_logs_sortables', 10, 1 );

Placement

This code should be placed in the functions.php file of your active theme, a custom plugin, or using a code snippets plugin.


Source Code

src/core/views/admin-logs/component/logs.php:159
src/core/includes/recipe-logs-view.php:165

function automator_setup_action_logs( $current_tab, $args = array() ) {

	$headings = array(
		/* translators: Log column. */
		'action_title'      => esc_attr__( 'Action', 'uncanny-automator' ),
		/* translators: Log column. The action status */
		'action_completed'  => esc_attr__( 'Action status', 'uncanny-automator' ),
		/* translators: Log column. */
		'error_message'     => esc_attr__( 'Notes', 'uncanny-automator' ),
		/* translators: Log column. The action completion date */
		'action_date'       => esc_attr__( 'Completion date', 'uncanny-automator' ),
		/* translators: Log column. */
		'recipe_title'      => esc_attr__( 'Recipe', 'uncanny-automator' ),
		/* translators: Log column. */
		'recipe_completed'  => esc_attr__( 'Recipe status', 'uncanny-automator' ),
		/* translators: Log column. */
		/* 'recipe_date_time'  => esc_attr__( 'Recipe completion date', 'uncanny-automator' ),
		/* translators: Log column. Noun. The recipe iteration */
		'recipe_run_number' => esc_attr__( 'Run #', 'uncanny-automator' ),
		/* translators: Log column. */
		'display_name'      => esc_attr__( 'User', 'uncanny-automator' ), // linked
		'actions'           => ' ', // Need to pass something so column become available.

	);

	$headings = wp_parse_args( $args, $headings );

	$sortables = array(
		'action_title'      => array( 'action_title', true ),
		'action_date'       => array( 'action_date', true ),
		'action_completed'  => array( 'action_completed', true ),
		'error_message'     => array( 'error_message', true ),
		'recipe_title'      => array( 'recipe_title', true ),
		'recipe_completed'  => array( 'recipe_completed', true ), // linked
		'recipe_date_time'  => array( 'recipe_date_time', true ),
		'recipe_run_number' => array( 'recipe_run_number', true ),
		'display_name'      => array( 'display_name', true ),
	);

	$sortables = apply_filters( 'automator_setup_action_logs_sortables', $sortables );

	//Prepare Table of elements
	$wp_list_table = new Logs_List_Table();
	$wp_list_table->set_columns( $headings );
	$wp_list_table->set_sortable_columns( $sortables );
	$wp_list_table->set_tab( $current_tab );
	$wp_list_table->prepare_items();
	$wp_list_table->display();
}

Internal Usage

Found in src/core/views/recipe-logs-details.php:74:

add_filter( 'automator_setup_action_logs_sortables', '__return_empty_array' );
Scroll to Top