Users can sign up for Maileon newsletters by checking the checkbox on the checkout page. Users who haven’t checked this checkbox will also be created in Maileon, however they will not have any permissions. This is due to the fact that the user needs to exist in order for Maileon to send transactional emails.
The user creation process can be hooked into vie the wc_maileon_checkout_contact
and wc_maileon_create_contact_params
WordPress filter hooks.
Contact Creation Filters
wc_maileon_update_contact_checkout
Description
wc_maileon_update_contact_checkout
is a filter applied to a contact created on the checkout page.
Parameters
$contact
(Maileon\Contacts\Contact
) The contact to be filtered
$user_id
(integer
) The ID of the user
$newsletter
(boolean
) Whether the user opted in to recieve newsletters
$data
(array
) The checkout data
wc_maileon_update_contact_registration
Description
wc_maileon_update_contact_registration
is a filter applied to a contact created via the registration form.
Parameters
$contact
(Maileon\Contacts\Contact
) The contact to be filtered
$user_id
(integer
) The ID of the user
$newsletter
(boolean
) Whether the user opted in to recieve newsletters
$user_data
(array
) The user data
wc_maileon_update_contact_account
Description
wc_maileon_update_contact_account
is a filter applied to an updated contact.
$contact
(Maileon\Contacts\Contact
) The contact to be filtered
$customer
(\WC_Customer
) (required) The customer data
wc_maileon_unsubscribe_contact_reasons
Description
wc_maileon_unsubscribe_contact_reasons
is a filter applied to the unsubscription reasons supplied to Maileon.
$reasons
(array
) The unsusbcription reasons array
$user_id
(integer
) The unsubscrining customer
wc_maileon_create_contact_params
Description
wc_maileon_create_contact_params
is a filter applied to any contact creation Maileon API calls. The hook receives an array of parameters that are passed to the Maileon API. The array contains the following elements:
Parameters
contact
(Maileon\Contacts\Contact
) The contact to be created
syncMode
(Maileon\Contacts\SynchronizationMode
) The synchronization mode
src
(string
) Subscription source
subscriptionPage
(string
) Subscription page
doi
(boolean
) Start doi process
doiPlus
(boolean
) Enable doi plus
doiMailingKey
(string
) The doi mailing key
Transaction Actions
wc_maileon_transaction_after_{$transaction_name}
Description
wc_maileon_transaction_after_{$transaction_name}
is an action running after every Maileon transaction. $transaction_name
is one of the following by default:
wc_completed_order
wc_on_hold_order
wc_processing_order
wc_refunded_order
Properties
$content
(array
) The transaction content attributes
$order
(\WC_Order
) The WooCommerce order object
$email_id
(string
) The WooCommerce email id
$result
(boolean
) Whether the transaction was successful
Transaction Filters
wc_maileon_transaction_name
Description
wc_maileon_transaction_name
is a filter applied to all Maileon transaction names.
Parameters
$transaction_name
(string
) The transaction name
wc_maileon_transaction_{$transaction_name}_attributes
Description
wc_maileon_transaction_{$transaction_name}_attributes
is a filter applied to all Maileon transaction attribute definitions. It can be used to modify the transaction types created by the plugin. $transaction_name
is one of the following by default:
wc_completed_order
wc_on_hold_order
wc_processing_order
wc_refunded_order
Parameters
$transaction_attributes
(Maileon\Transactions\AttributeType[]
) The transaction type attributes
wc_maileon_transaction_map_order_{$type}
Description
wc_maileon_transaction_map_order_{$type}
is a filter applied to each order_item in the default transaction mapping. $type
is one of the following:
line_item
tax
shipping
fee
coupon
If this filter returns FALSE
or an empty array the line is excluded.
Parameters
$order_item
(array
) The mapped attributes
$item
(\WC_Order_Item
) The WooCommerce order item
wc_maileon_transaction_order_line_types
Description
wc_maileon_transaction_order_line_type
is a filter applied to the order item types.
Parameters
$value
(array
) The order item types