Documentation
ReturnDesk
Developer Reference

Developer Reference


Constants

ConstantValueDescription
RETURNDESK_VERSION1.0.0Plugin version
RETURNDESK_PLUGIN_FILE__FILE__Absolute path to main plugin file
RETURNDESK_PLUGIN_DIRplugin_dir_path()Plugin directory path
RETURNDESK_SETTINGS_OPTIONreturndesk_settingsWordPress option key for all settings

Filters

FilterArgumentsDescription
returndesk_is_item_eligible$eligible (bool), $order, $item, $qtyOverride eligibility check result
returndesk_account_tab_label$label (string)Change the My Account tab label
returndesk_reasons$reasons (array)Modify available return reasons
returndesk_email_tokens$tokens (array), $request (array)Add custom email tokens
returndesk_statuses$statuses (array)Modify available request statuses

Actions

ActionArgumentsDescription
returndesk_request_created$request_id (int), $request (array)Fires after a new request is inserted
returndesk_status_updated$request_id (int), $old_status (string), $new_status (string)Fires after status change
returndesk_email_sent$template (string), $request_id (int)Fires after a notification email is sent

Options Schema

KeyTypeDefaultDescription
returndesk_settings[enable_returns]string yes/noyesMaster toggle
returndesk_settings[return_window_days]int7Return eligibility window
returndesk_settings[allowed_statuses]array[completed, processing]Eligible order statuses
returndesk_settings[return_allow_sale_products]string yes/noyesAllow returns of sale items
returndesk_settings[return_reasons]array4 defaultsSelectable return reasons
returndesk_settings[terms_page_id]int0Terms page post ID

Database Table

Table: {prefix}returndesk_requests

ColumnTypeDescription
idint AUTO_INCREMENTRequest ID
order_idintWooCommerce order ID
customer_idintWordPress user ID
typevarcharreturn
statusvarcharpending / approved / rejected / cancelled
itemslongtextJSON array of requested items
reasonvarcharSelected return reason
notestextCustomer notes
created_atdatetimeSubmission timestamp
updated_atdatetimeLast status change timestamp