Purpose

Customize or translate the options available in a select filter within a DataTable. This filter allows developers to dynamically modify the display text or other attributes of select filter options.

Usage

add_filter( "wr_datatable_filter_select_options", array( $this, "translate_datatable_filter_select_options" ), 10, 3 );

Parameters

  • $options (array): The current options available for the select filter. Each option is an associative array containing keys like ‘value’ and ‘text’.
  • $selected_value (mixed): The currently selected value in the filter, if any.
  • $settings (array): The settings associated with the DataTable, providing additional context.

Use Case

This functionality is useful when:

  • You need to translate the text of filter options into a specific language using a translation function.
  • Customizing the filter options dynamically based on user preferences, roles, or other criteria.

Implementation Example

The following example translates the text of each select filter option using the __() function with the text domain example-text-domain:

add_filter( "wr_datatable_filter_select_options", array( $this, "translate_datatable_filter_select_options" ), 10, 3 );
 
public function translate_datatable_filter_select_options( $options, $selected_value, $settings ) {  
    foreach ( $options as &$option ) {  
       $option['text'] = __( $option['text'], "example-text-domain" );  
    }  
  
    return $options;  
}