About action fields

Action Fields are the fields used for setting up an action in the admin user interface.

Creating your first action field

In order to create your own Action_Field you need to extend Thrive\Automator\Items\Action_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 - return 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 - check 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 - return 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

In order 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.

Did this answer your question?