{"id":369376,"date":"2026-09-15T12:32:51","date_gmt":"2026-09-15T12:32:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/egydevinfo-loyalty-points-for-woocommerce\/"},"modified":"2026-09-15T12:32:26","modified_gmt":"2026-09-15T12:32:26","slug":"egydevinfo-loyalty-points-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/egydevinfo-loyalty-points-for-woocommerce\/","author":23319591,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"EgyDevInfo Loyalty Points for WooCommerce","header_author":"EgyDevInfo.com - Egypt Web Developers","header_description":"Gamified WooCommerce loyalty program \u2014 earn points on purchases, unlock badge milestones, and redeem for cart discounts.","assets_banners_color":"67515c","last_updated":"2026-09-15 12:32:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/egydevinfo.com","header_author_uri":"https:\/\/www.egydevinfo.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"egydevinfo","date":"2026-09-15 12:32:26","revision":3696970}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3696975,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3696975,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3696975,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3696975,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3696975,"resolution":"1","location":"assets","locale":"","width":1920,"height":894},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3696975,"resolution":"2","location":"assets","locale":"","width":1920,"height":894}},"screenshots":{"1":"Admin settings page \u2014 points configuration and floating button controls","2":"Badge Management \u2014 editable threshold table","3":"User Points Overview \u2014 all users' balances and earned badges","4":"My Account dashboard \u2014 current balance, lifetime stats, and badge progress bar","5":"Checkout redemption form \u2014 AJAX points redemption before order review","6":"Thank-you page \u2014 estimated points earned for the order"}},"plugin_section":[],"plugin_tags":[2306,15738,3377,2321,286],"plugin_category":[45],"plugin_contributors":[280526],"plugin_business_model":[],"class_list":["post-369376","plugin","type-plugin","status-publish","hentry","plugin_tags-badges","plugin_tags-gamification","plugin_tags-loyalty","plugin_tags-points","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-egydevinfo","plugin_committers-egydevinfo"],"banners":{"banner":"https:\/\/ps.w.org\/egydevinfo-loyalty-points-for-woocommerce\/assets\/banner-772x250.png?rev=3696975","banner_2x":"https:\/\/ps.w.org\/egydevinfo-loyalty-points-for-woocommerce\/assets\/banner-1544x500.png?rev=3696975","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/egydevinfo-loyalty-points-for-woocommerce\/assets\/icon-128x128.png?rev=3696975","icon_2x":"https:\/\/ps.w.org\/egydevinfo-loyalty-points-for-woocommerce\/assets\/icon-256x256.png?rev=3696975","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/egydevinfo-loyalty-points-for-woocommerce\/assets\/screenshot-1.png?rev=3696975","caption":"Admin settings page \u2014 points configuration and floating button controls"},{"src":"https:\/\/ps.w.org\/egydevinfo-loyalty-points-for-woocommerce\/assets\/screenshot-2.png?rev=3696975","caption":"Badge Management \u2014 editable threshold table"}],"raw_content":"<!--section=description-->\n<p><strong>EgyDevInfo Loyalty Points for WooCommerce<\/strong> adds a progression system \u2014 four badge tiers with visual progress bars \u2014 so customers have a reason to keep shopping beyond the next discount.<\/p>\n\n<p>Every purchase earns points. Points unlock badges. Badges give customers a tangible status to work toward, which keeps them coming back.<\/p>\n\n<p><strong>No upsell gates. No nag screens. No premium tier.<\/strong> Everything described here is in the free plugin.<\/p>\n\n<h4>How the gamification works<\/h4>\n\n<p>Customers move through four badge tiers as their lifetime points accumulate:<\/p>\n\n<ul>\n<li>\ud83e\udd49 <strong>Bronze Member<\/strong> \u2014 100 points<\/li>\n<li>\ud83e\udd48 <strong>Silver Member<\/strong> \u2014 500 points<\/li>\n<li>\ud83e\udd47 <strong>Gold Member<\/strong> \u2014 1,000 points<\/li>\n<li>\ud83d\udc8e <strong>Platinum Member<\/strong> \u2014 2,500 points<\/li>\n<\/ul>\n\n<p>A visual progress bar on the My Account dashboard shows exactly how close they are to the next badge, creating a clear goal for every returning visit.<\/p>\n\n<p>Thresholds are fully configurable in WooCommerce \u2192 Rewards &amp; Loyalty \u2192 Badge Management.<\/p>\n\n<h4>Points system<\/h4>\n\n<ul>\n<li><strong>Earning:<\/strong> configurable points per dollar spent (default: 1 point \/ $1)<\/li>\n<li><strong>Redemption:<\/strong> configurable point value (default: 1 point = $0.01)<\/li>\n<li><strong>Safe flow:<\/strong> points are staged at checkout and only permanently deducted when the order is marked complete \u2014 no points are lost to abandoned carts<\/li>\n<li><strong>Balance tracking:<\/strong> real-time display in cart, checkout, My Account, and thank-you page<\/li>\n<\/ul>\n\n<h4>Admin features<\/h4>\n\n<ul>\n<li>Configure earning rate and redemption value<\/li>\n<li>Adjust badge thresholds without touching code<\/li>\n<li>View all users' balances and earned badges in one table<\/li>\n<li>Control the floating engagement button \u2014 enable\/disable, choose audience (guests, users with points, users without points), set screen position<\/li>\n<\/ul>\n\n<h4>Frontend integration<\/h4>\n\n<ul>\n<li>Cart totals \u2014 current balance with currency value<\/li>\n<li>Checkout \u2014 redemption form above the order review (AJAX, no page reload)<\/li>\n<li>My Account dashboard \u2014 full breakdown: balance, lifetime stats, earned badges, next-badge progress bar<\/li>\n<li>Thank-you page \u2014 estimated points for the order just placed<\/li>\n<li>Floating button \u2014 configurable engagement prompt that can be disabled in settings; off by default for guests<\/li>\n<\/ul>\n\n<h4>Technical<\/h4>\n\n<ul>\n<li>Namespaced OOP architecture with manual PSR-4 autoloader (no Composer, no build step)<\/li>\n<li>Nonces + capability checks on every state-changing request<\/li>\n<li>All input sanitized, all output escaped<\/li>\n<li>WooCommerce HPOS (High-Performance Order Storage) compatible<\/li>\n<li>Clean uninstall \u2014 removes all plugin data when deleted<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>egydevinfo-loyalty-points-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Rewards &amp; Loyalty<\/strong> to configure your points rate and badge thresholds.<\/li>\n<li>The plugin starts tracking points automatically for all new completed orders.<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher<\/li>\n<li>WooCommerce 6.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20customers%20earn%20points%3F\"><h3>How do customers earn points?<\/h3><\/dt>\n<dd><p>Points are awarded automatically when an order is marked <strong>Completed<\/strong> in WooCommerce. The default rate is 1 point per $1 spent; change it in WooCommerce \u2192 Rewards &amp; Loyalty \u2192 Points Settings.<\/p><\/dd>\n<dt id=\"how%20does%20redemption%20work%3F\"><h3>How does redemption work?<\/h3><\/dt>\n<dd><p>On the checkout page, logged-in customers with a positive balance see a redemption form. They enter how many points to redeem; the discount is applied as a cart fee via AJAX. The points are only permanently deducted from their balance when the order is marked complete \u2014 not at the moment of clicking \"Redeem\".<\/p><\/dd>\n<dt id=\"what%20happens%20to%20staged%20points%20if%20the%20customer%20abandons%20checkout%3F\"><h3>What happens to staged points if the customer abandons checkout?<\/h3><\/dt>\n<dd><p>The staged redemption lives in the WooCommerce session. If the cart is emptied or the session expires without an order being placed, the session clears and the customer's balance is unchanged.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20badge%20thresholds%3F\"><h3>Can I change the badge thresholds?<\/h3><\/dt>\n<dd><p>Yes. Go to WooCommerce \u2192 Rewards &amp; Loyalty \u2192 Badge Management and edit the threshold for any badge. Changes apply to future assignments only; already-earned badges are not revoked.<\/p><\/dd>\n<dt id=\"do%20points%20expire%3F\"><h3>Do points expire?<\/h3><\/dt>\n<dd><p>Points do not expire in this version. Expiry may be added in a future update.<\/p><\/dd>\n<dt id=\"can%20i%20manually%20adjust%20a%20customer%27s%20points%20balance%3F\"><h3>Can I manually adjust a customer's points balance?<\/h3><\/dt>\n<dd><p>Manual adjustment is planned for a future update. Currently, points are only earned through completed orders.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20compatible%20with%20woocommerce%20hpos%3F\"><h3>Is this plugin compatible with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares HPOS compatibility and uses WooCommerce order CRUD methods (<code>wc_get_order()<\/code>, <code>$order-&gt;get_*()<\/code>) throughout \u2014 no direct database queries on WooCommerce tables.<\/p><\/dd>\n<dt id=\"can%20the%20floating%20button%20be%20disabled%3F\"><h3>Can the floating button be disabled?<\/h3><\/dt>\n<dd><p>Yes. In WooCommerce \u2192 Rewards &amp; Loyalty \u2192 Points Settings you can disable the floating button entirely, or choose which audiences see it (guests, logged-in users with points, logged-in users without points).<\/p><\/dd>\n<dt id=\"will%20this%20conflict%20with%20other%20loyalty%20plugins%3F\"><h3>Will this conflict with other loyalty plugins?<\/h3><\/dt>\n<dd><p>Using more than one loyalty plugin at a time may cause unexpected behaviour. This plugin is designed to be a complete standalone solution.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: Remove comparative claim from plugin description per WordPress.org guidelines<\/li>\n<li>Fix: Remove \"Tested up to\" from PHP plugin header (readme.txt only)<\/li>\n<li>Fix: Rename PHP namespace from RPP\\Core to EgyDevInfoLP\\Core (proper unique prefix)<\/li>\n<li>Fix: Rename wp_localize_script object from rpp_ajax to egydevinfo_lp_frontend<\/li>\n<li>Fix: Update Plugin URI to a live URL<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: floating button panel modal now renders correctly (CSS was missing)<\/li>\n<li>Fix: JS now uses safe typeof check to prevent ReferenceError if localized data loads late<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Points earning on order completion (configurable rate)<\/li>\n<li>Points redemption at checkout with safe session-based staging<\/li>\n<li>Four-tier badge system (Bronze \u2192 Platinum) with configurable thresholds<\/li>\n<li>Visual progress bar toward next badge<\/li>\n<li>Full admin interface: settings, badge management, user points table<\/li>\n<li>Floating engagement button with audience and position controls<\/li>\n<li>WooCommerce HPOS compatibility declared<\/li>\n<\/ul>","raw_excerpt":"A gamified WooCommerce loyalty program where customers earn points, unlock badge milestones (Bronze \u2192 Platinum), and redeem for discounts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369376"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/egydevinfo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369376"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369376"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369376"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369376"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369376"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}