{"id":258058,"date":"2025-12-09T07:32:52","date_gmt":"2025-12-09T07:32:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/telo-affiliates-lite\/"},"modified":"2025-12-09T07:31:07","modified_gmt":"2025-12-09T07:31:07","slug":"telo-affiliates-lite","status":"publish","type":"plugin","link":"https:\/\/szl.wordpress.org\/plugins\/telo-affiliates-lite\/","author":23390013,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.0.1","stable_tag":"3.0.1","tested":"6.8.5","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"TELO Affiliates Lite","header_author":"Miguel Martinez","header_description":"Simple affiliate management for WooCommerce: single link with parameter, affiliate dashboard via shortcode, cashout requests, public pages per affiliate, affiliate import\/export, and more.","assets_banners_color":"842838","last_updated":"2025-12-09 07:31:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/qagencia.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":135,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.1":{"tag":"3.0.1","author":"miguelqagencia","date":"2025-12-09 07:31:07"}},"upgrade_notice":{"3.0.0":"<p>First public version.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3415056,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3415056,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Main Affiliates screen with table and actions.","2":"Affiliate Pages submenu with creation, URL copy and trash.","3":"Payout Requests with collapsible orders and approve\/reject actions.","4":"Front-end affiliate dashboard with summary and history."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3082,5403,251946,387,286],"plugin_category":[35,45],"plugin_contributors":[251947],"plugin_business_model":[],"class_list":["post-258058","plugin","type-plugin","status-publish","hentry","plugin_tags-affiliates","plugin_tags-commission","plugin_tags-payouts","plugin_tags-referral","plugin_tags-woocommerce","plugin_category-advertising","plugin_category-ecommerce","plugin_contributors-miguelqagencia","plugin_committers-miguelqagencia"],"banners":{"banner":"https:\/\/ps.w.org\/telo-affiliates-lite\/assets\/banner-772x250.png?rev=3415056","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/telo-affiliates-lite\/assets\/icon-128x128.png?rev=3415056","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>TELO Affiliates<\/strong> adds a lightweight affiliate layer on top of WooCommerce without heavy dependencies. Ideal if you want to:<\/p>\n\n<ul>\n<li>Create a <strong>unique link<\/strong> for each affiliate (with configurable URL parameter) and track associated orders.<\/li>\n<li>Show each affiliate their <strong>dashboard<\/strong> with sales, commissions and <strong>payout request<\/strong> via <strong>shortcode<\/strong>.<\/li>\n<li>Manage <strong>payouts<\/strong>: mark commissions as paid (with history) or approve payout requests sent from the affiliate dashboard.<\/li>\n<li>Create <strong>public pages<\/strong> per affiliate (<code>\/panel-afiliado\/{slug}<\/code>) with a dedicated template, <strong>no header\/sidebars<\/strong>, and forced <strong>noindex\/nofollow<\/strong>.<\/li>\n<li><strong>Import\/Export<\/strong> your affiliates in <strong>JSON<\/strong> (slug, name and commission % only).<\/li>\n<li>Use admin tables based on <strong>WP_List_Table<\/strong> with search, sorting and pagination.<\/li>\n<\/ul>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><p><strong>Shortcode<\/strong>: <code>[telo_affiliate_dashboard slug=\"juan\"]<\/code><\/p>\n\n<ul>\n<li>Unique link with tracking parameter (set it with the <code>TELO_AFF_PARAM<\/code> constant).<\/li>\n<li>Historical summary: sales, total amount and total commission.<\/li>\n<li>Pending: base and commission still pending payout.<\/li>\n<li><strong>\u201cRequest payout\u201d button<\/strong> with minimum threshold (filter).<\/li>\n<li>Payout history.<\/li>\n<li>Accessible and ready for custom styles (wrapper class).<\/li>\n<\/ul><\/li>\n<li><p><strong>Admin \u2192 Affiliates<\/strong><\/p>\n\n<ul>\n<li>Add\/edit\/delete affiliates (name, slug, commission %).<\/li>\n<li><strong>Import\/Export<\/strong> JSON (slug, name, rate only; no sales or history).<\/li>\n<li>Table with search\/sorting\/pagination.<\/li>\n<li><strong>Mark paid<\/strong> (moves affiliate orders to payout history).<\/li>\n<li>\u201cAffiliate\u201d column in the order list (HPOS and classic list).<\/li>\n<\/ul><\/li>\n<li><p><strong>Admin \u2192 Affiliate Pages<\/strong><\/p>\n\n<ul>\n<li>List of all affiliates with the status of their <strong>public page<\/strong>.<\/li>\n<li><strong>Create page<\/strong> per affiliate (<code>\/panel-afiliado\/{slug}<\/code>) with template <code>telo-affiliates\/affiliate-page.php<\/code>.<\/li>\n<li><strong>Copy URL<\/strong>, open, <strong>move to trash<\/strong>, <strong>restore<\/strong> or <strong>permanently delete<\/strong> (plugin-created pages only).<\/li>\n<li>Own \u201cTrash\u201d view + \u201cEmpty trash\u201d button.<\/li>\n<\/ul><\/li>\n<li><p><strong>Admin \u2192 Payout Requests<\/strong><\/p>\n\n<ul>\n<li>Responsive list with collapsible orders (chips) per request.<\/li>\n<li><strong>Approve<\/strong> (marks orders as paid and creates record in history) or <strong>reject<\/strong> (with note).<\/li>\n<li>Notices and status control: pending, approved, rejected, no orders.<\/li>\n<\/ul><\/li>\n<li><p><strong>SEO &amp; UX<\/strong><\/p>\n\n<ul>\n<li>Affiliate pages are forced <strong>noindex\/nofollow<\/strong> (compatible with Yoast SEO and Rank Math).<\/li>\n<li>Crawling of <code>\/panel-afiliado\/<\/code> is discouraged in <code>robots.txt<\/code>.<\/li>\n<li>Dedicated template without header\/sidebars and wrapper <code>.telo-aff-page<\/code> for your global styles.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Hooks<\/h3>\n\n<ul>\n<li><p><strong>Filters<\/strong><\/p>\n\n<ul>\n<li><code>telo_affiliates_min_payout<\/code> (float, default <code>20.0<\/code>): minimum commission required to allow \u201cRequest payout\u201d.<\/li>\n<\/ul><\/li>\n<li><p><strong>Actions<\/strong><\/p>\n\n<ul>\n<li><code>telo_affiliates_payout_recorded( $payout_id, $slug, $order_ids, $amount )<\/code>: fires when a payout is recorded.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Order Meta Stored<\/h3>\n\n<ul>\n<li><code>_telo_affiliate<\/code> \u2014 affiliate slug.<\/li>\n<li><code>_telo_aff_paid<\/code> \u2014 <code>yes<\/code> if marked as paid.<\/li>\n<li><code>_telo_aff_payout_id<\/code> \u2014 ID of the recorded payout.<\/li>\n<li><code>_telo_aff_paid_ts<\/code> \u2014 timestamp of the payout.<\/li>\n<\/ul>\n\n<h3>Shortcode<\/h3>\n\n<p>[telo_affiliate_dashboard slug=\"juan\"]<\/p>\n\n<p>Renders \u201cJuan\u2019s\u201d dashboard with:\n- Unique link (use the <code>TELO_AFF_PARAM<\/code> constant to change the parameter name).\n- Historical and pending summary.\n- <strong>Request payout<\/strong> button (respects the minimum configured via filter).\n- Responsive <strong>history table<\/strong> (CSS-ready classes).<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>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.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin can optionally connect to the licensing service to activate PRO features:<\/p>\n\n<p>licencias.qagencia.com \u2014 License validation and update checks for the PRO add-on.\nData sent: site URL, WordPress version, plugin version, license key (hashed) and server IP.\nFrequency: on manual activation\/deactivation and via a periodic check (daily).\nPrivacy: https:\/\/licencias.qagencia.com\/privacy<\/p>\n\n<p>Terms: https:\/\/licencias.qagencia.com\/terms<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to the <code>\/wp-content\/plugins\/<\/code> directory or install it from the WordPress.org repository.<\/li>\n<li>Activate it in <em>Plugins \u2192 Installed Plugins<\/em>.<\/li>\n<li>(Optional) Define the <code>TELO_AFF_PARAM<\/code> constant if you want to change the tracking parameter name (for example <code>ref<\/code>):\n   `php\ndefine( 'TELO_AFF_PARAM', 'ref' );<\/li>\n<li>Go to Affiliates to create your affiliates (name, slug, %).<\/li>\n<li>Create public pages from Affiliates \u2192 Affiliate Pages (\u201cCreate Page\u201d button).<\/li>\n<li>Insert the affiliate dashboard wherever you want with the shortcode:\n[telo_affiliate_dashboard slug=\"your_slug\"]<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='which%20url%20parameter%20is%20used%20for%20tracking%3F'><h3>Which URL parameter is used for tracking?<\/h3><\/dt>\n<dd><p>It is configurable via the TELO_AFF_PARAM constant (define it in wp-config.php or in the plugin\/theme bootstrap). If you do not define it, the plugin\u2019s default is used.<\/p><\/dd>\n<dt id='does%20import%20affect%20sales%20or%20historical%20payout%20data%3F'><h3>Does import affect sales or historical payout data?<\/h3><\/dt>\n<dd><p>No. Import\/export only handles slug, name and rate. No orders, commissions or historical data.<\/p><\/dd>\n<dt id='do%20affiliate%20pages%20affect%20my%20seo%3F'><h3>Do affiliate pages affect my SEO?<\/h3><\/dt>\n<dd><p>No. They are created with a dedicated template without header\/sidebars, marked noindex\/nofollow and \/panel-afiliado\/ is disallowed in robots.txt.<\/p><\/dd>\n<dt id='can%20i%20customize%20styles%3F'><h3>Can I customize styles?<\/h3><\/dt>\n<dd><p>Yes. The shortcode and template use wrapper classes (.telo-aff-frontend, .telo-aff-page, etc.). Add your CSS in your theme or in a plugin stylesheet.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20woocommerce%20hpos%3F'><h3>Does it work with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. The \u201cAffiliate\u201d column is added to the order list in both classic and HPOS views.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Minor fixes based on the WordPress.org plugin review (security hardening and compatibility tweaks).<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Initial version.<\/li>\n<li>Affiliate dashboard shortcode.<\/li>\n<li>Payout requests with approval\/rejection.<\/li>\n<li>Payout history.<\/li>\n<li>\u201cAffiliate Pages\u201d submenu with create\/restore\/trash.<\/li>\n<li>Import\/Export affiliates in JSON.<\/li>\n<li>\u201cAffiliate\u201d column in orders (classic and HPOS).<\/li>\n<li>Noindex\/nofollow for affiliate pages and Disallow entry in robots.txt.<\/li>\n<li>Responsive tables in front end and admin.<\/li>\n<\/ul>","raw_excerpt":"Lightweight affiliate management for WooCommerce: unique link with parameter, affiliate dashboard via shortcode, payout requests, public pages per aff &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/258058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=258058"}],"author":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/miguelqagencia"}],"wp:attachment":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=258058"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=258058"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=258058"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=258058"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=258058"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=258058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}