TELO Affiliates Lite
TELO Affiliates adds a lightweight affiliate layer on top of WooCommerce without heavy dependencies. Ideal if you want to:
- Create a unique link for each affiliate (with configurable URL parameter) and track associated orders.
- Show each affiliate their dashboard with sales, commissions and payout request via shortcode.
- Manage payouts: mark commissions as paid (with history) or approve payout requests sent from the affiliate dashboard.
- Create public pages per affiliate (
/panel-afiliado/{slug}) with a dedicated template, no header/sidebars, and forced noindex/nofollow. - Import/Export your affiliates in JSON (slug, name and commission % only).
- Use admin tables based on WP_List_Table with search, sorting and pagination.
Features
-
Shortcode:
[telo_affiliate_dashboard slug="juan"]- Unique link with tracking parameter (set it with the
TELO_AFF_PARAMconstant). - Historical summary: sales, total amount and total commission.
- Pending: base and commission still pending payout.
- “Request payout” button with minimum threshold (filter).
- Payout history.
- Accessible and ready for custom styles (wrapper class).
- Unique link with tracking parameter (set it with the
-
Admin → Affiliates
- Add/edit/delete affiliates (name, slug, commission %).
- Import/Export JSON (slug, name, rate only; no sales or history).
- Table with search/sorting/pagination.
- Mark paid (moves affiliate orders to payout history).
- “Affiliate” column in the order list (HPOS and classic list).
-
Admin → Affiliate Pages
- List of all affiliates with the status of their public page.
- Create page per affiliate (
/panel-afiliado/{slug}) with templatetelo-affiliates/affiliate-page.php. - Copy URL, open, move to trash, restore or permanently delete (plugin-created pages only).
- Own “Trash” view + “Empty trash” button.
-
Admin → Payout Requests
- Responsive list with collapsible orders (chips) per request.
- Approve (marks orders as paid and creates record in history) or reject (with note).
- Notices and status control: pending, approved, rejected, no orders.
-
SEO & UX
- Affiliate pages are forced noindex/nofollow (compatible with Yoast SEO and Rank Math).
- Crawling of
/panel-afiliado/is discouraged inrobots.txt. - Dedicated template without header/sidebars and wrapper
.telo-aff-pagefor your global styles.
Hooks
-
Filters
telo_affiliates_min_payout(float, default20.0): minimum commission required to allow “Request payout”.
-
Actions
telo_affiliates_payout_recorded( $payout_id, $slug, $order_ids, $amount ): fires when a payout is recorded.
Order Meta Stored
_telo_affiliate— affiliate slug._telo_aff_paid—yesif marked as paid._telo_aff_payout_id— ID of the recorded payout._telo_aff_paid_ts— timestamp of the payout.
Shortcode
[telo_affiliate_dashboard slug=“juan“]
Renders “Juan’s” dashboard with:
– Unique link (use the TELO_AFF_PARAM constant to change the parameter name).
– Historical and pending summary.
– Request payout button (respects the minimum configured via filter).
– Responsive history table (CSS-ready classes).
Privacy
This plugin stores metadata in orders (affiliate association and payout status) and, optionally, affiliate contact data (name, email). Make sure to reflect this in your privacy policy if needed.
External Services
This plugin can optionally connect to the licensing service to activate PRO features:
licencias.qagencia.com — License validation and update checks for the PRO add-on. Data sent: site URL, WordPress version, plugin version, license key (hashed) and server IP. Frequency: on manual activation/deactivation and via a periodic check (daily). Privacy: https://licencias.qagencia.com/privacy
Terms: https://licencias.qagencia.com/terms
