16min
Creating Trigger Fields
About trigger fields
Trigger Fields are the fields used for setting up an action in the admin user interface.
Creating your first trigger field
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.
PHP
|
- abstract public static function get_name(): string - the name of the Trigger_Field.
PHP
|
- abstract public static function get_description(): string - short description of the Trigger_Field that will be displayed in the tooltip
PHP
|
- abstract public static function get_placeholder(): string - input placeholder to be displayed in the admin UI.
PHP
|
- abstract public static function get_type(): string - type of input field, required to render in the admin UI
PHP
|
Other methods
- abstract public static function get_validators(): array - return an array of validations that should be done on the field.
PHP
|
- abstract public static function is_ajax_field(): bool - check if the field values are retrieved normally or with an ajax request.
PHP
|
- 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
PHP
|
- public static function get_default_value(): string - can be used to set default values for a field e.g select field.
PHP
|
- 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
PHP
|
Registering the trigger field
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.