About Action Fields
Action Fields are the fields used for setting up an action in the admin user interface.
Creating Your First Action Field
To create your own Action_Field
you need to extend ThriveAutomatorItemsAction_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.
public static function get_id(): string {
return 'wp/user-role';
}
abstract public static function get_name(): string
– the name of the action field.
public static function get_name(): string {
return 'User role';
}
abstract public static function get_description(): string
– short description of the action field that will be displayed in the tooltip.
public static function get_description(): string {
return 'Create a new wordpress user';
}
abstract public static function get_placeholder(): string
– input placeholder to be displayed in the admin UI.
public static function get_placeholder(): string {
return 'user role';
}
abstract public static function get_type(): string
– type of input field, required to render in the admin UI.
/**
* @see Action_Field::FIELD_TYPE_TEXT
* @see Action_Field::FIELD_TYPE_TAGS
* @see Action_Field::FIELD_TYPE_SELECT
* @see Action_Field::FIELD_TYPE_CHECKBOX
* @see Action_Field::FIELD_TYPE_AUTOCOMPLETE
* @see Action_Field::FIELD_TYPE_DOUBLE_DROPDOWN
*/
public static function get_type(): string {
return Action_Field::FIELD_TYPE_SELECT;
}
Other Methods
abstract public static function get_validators(): array
– returns an array of validations that should be done on the field.
public static function get_validators(): array {
return [ static::REQUIRED_VALIDATION ];
}
abstract public static function is_ajax_field(): bool
– checks if the field values are retrieved normally or with an ajax request.
public static function is_ajax_field(): bool {
return true;
}
public static function get_default_value(): string
– can be used to set default values for a field e.g select field.
public static function get_default_value(): string{
return 'first_key';
}
abstract public static function get_options_callback(): array
– returns an array of id/label arrays representing the option values for the action field.
public static function get_options_callback(): array {
return [
[
'id' => 'subscriber',
'label' => 'Subscriber',
],
[
'id' => 'author',
'label' => 'Author',
],
];
}
Registering the Action Field
To register this Action_Field
so it can appear in the admin area, we should use the thrive_automator_register_action_field
function which receives as the only parameter, the class name.