Thrive Automator
Creating Trigger Fields
12min
Trigger Fields are the fields used for setting up an action in the admin user interface.
In order to create your own Trigger_Field you need to extend Thrive\Automator\Items\Trigger_Field and implement the required basic methods.
- abstract public static function get_id(): string - should return a unique identifier that will be used as a key in arrays. To avoid conflicts or overwrites we suggest using a prefix.
- abstract public static function get_name(): string - the name of the Trigger_Field.
- abstract public static function get_description(): string - short description of the Trigger_Field that will be displayed in the tooltip
- abstract public static function get_placeholder(): string - input placeholder to be displayed in the admin UI.
- abstract public static function get_type(): string - type of input field, required to render in the admin UI
- abstract public static function get_validators(): array - return an array of validations that should be done on the field.
- abstract public static function is_ajax_field(): bool - check if the field values are retrieved normally or with an ajax request.
- public static function allow_dynamic_data(): bool - Whether users should be allowed to add dynamic data from Data_Field as value for the current Trigger_Field
- public static function get_default_value(): string - can be used to set default values for a field e.g select field.
- abstract public static function get_options_callback(): array - return an array of id/label arrays representing the option values for the Trigger_Field. $trigger_id - the current trigger where the field is displayed, useful when a single field is used in multiple triggers(e.g products list) $trigger_data - the current state of the trigger.
- Can be used to filter the values based on other properties set for the current trigger
In order to register this Trigger_Field so it can appear in the admin area, we should use the thrive_automator_register_trigger_field function which receives as the only parameter, the class name.
Updated 03 Mar 2023

Did this page help you?