# PluginSprout > PluginSprout makes narrow, single-job add-ons for LearnDash, AffiliateWP and WooCommerce, each filling a gap the host plugin leaves open, and two standalone WordPress plugins: Appointure for appointment booking and Security Guard, a malware scanner that runs on your own site. Each add-on is a yearly licence, from one site to unlimited sites, and includes every feature, a year of updates and support, and a 14-day money-back guarantee. Add-ons hook into the host plugin and never modify its core files. Support: support@pluginsprout.com (replies within 24 hours, Monday to Friday). ## LearnDash add-ons - [LearnDash Certificate Expiry](https://pluginsprout.com/downloads/certificate-expiry-for-learndash/): Make each student's LearnDash certificate expire a set time after they finish, with reminder emails and paid renewal. For first aid, safety and CPD training. Requires LearnDash 4.x. - [LearnDash Certificate Expiry + Renewal Bundle](https://pluginsprout.com/downloads/learndash-certificate-expiry-renewal-bundle/): Certificate Expiry and Certificate Renewal together: expiring certificates plus self-service recertification, one licence key. Requires LearnDash 4.x. - [LearnDash Certificate Renewal](https://pluginsprout.com/downloads/learndash-certificate-renewal/): Quiz-based recertification and one-click signed renewal links for LearnDash Certificate Expiry. Requires LearnDash + LearnDash Certificate Expiry. ## AffiliateWP add-ons - [WP Referral Clarity](https://pluginsprout.com/downloads/wp-referral-clarity/): Your affiliates can't see their pending referrals in AffiliateWP. Referral Clarity shows them the 20 most recent and why each one is still pending. Requires AffiliateWP (tested with 2.36.1). ## WooCommerce add-ons - [AI Product Recommender for WooCommerce](https://pluginsprout.com/downloads/woo-ai-product-recommender/): An AI chat widget for WooCommerce that finds products, checks live price and stock, and answers store policy questions. Requires WooCommerce. - [Failed & Spam Order Cleaner for WooCommerce](https://pluginsprout.com/downloads/failed-spam-order-cleaner-for-woocommerce/): Clear the failed and pending orders a card-testing attack leaves behind, in the background, trash first, with a report on who sent them. Requires WooCommerce 8.2+. - [Order Search Pro for WooCommerce](https://pluginsprout.com/downloads/wc-order-search-pro/): One fast, indexed search bar for WooCommerce orders, plus combinable filters, custom-field search and saved segments. Requires WooCommerce 7.0+. ## Booking plugins - [Appointure](https://pluginsprout.com/downloads/appointure/): Appointment booking for WordPress. Customers pick a service, a staff member and a time, pay a deposit through Stripe, and get reminders by email, SMS or WhatsApp. ## Security plugins - [Security Guard](https://pluginsprout.com/downloads/security-guard/): Find ClickFix and EtherHiding scripts, web shells and new admins on WordPress, then strip known injected scripts from pages. Runs on your own site. ## Store - [Pricing: yearly licences from one site to unlimited](https://pluginsprout.com/pricing/) - [All plugins](https://pluginsprout.com/downloads/) - [About PluginSprout](https://pluginsprout.com/about/) - [Contact and support](https://pluginsprout.com/contact/) - [Refund policy](https://pluginsprout.com/refund-policy/) - [Terms of service](https://pluginsprout.com/terms/) - [Privacy policy](https://pluginsprout.com/privacy-policy/) ## Docs - [AI Product Recommender for WooCommerce user guide](https://pluginsprout.com/docs/woo-ai-product-recommender-guide/): Connect DeepSeek, write the knowledge base, style the chat, switch features on, and read the analytics. - [Appointure for developers: hooks, filters and REST API](https://pluginsprout.com/docs/appointure-developers/): The REST routes under appointure/v1, the main actions and filters, the shortcodes and how to override templates from your theme. - [Appointure user guide](https://pluginsprout.com/docs/appointure-user-guide/): Set up services, staff and working hours, publish the booking page, take Stripe payments, connect Google Calendar and Zoom, and send reminders. - [Failed & Spam Order Cleaner user guide](https://pluginsprout.com/docs/failed-spam-order-cleaner-guide/): Choose the orders, preview them, clean up in the background, read the attack report and undo a cleanup if you need to. - [Installing an add-on and activating your licence](https://pluginsprout.com/docs/install-and-activate/): Download your add-on, install it from the Plugins screen, and activate your licence key so the site receives updates. - [Licences, updates and moving to a new site](https://pluginsprout.com/docs/licences-updates-moving-sites/): What a licence covers, how updates arrive, and how to move a licence from one site to another. - [Order Search Pro for WooCommerce user guide](https://pluginsprout.com/docs/wc-order-search-pro-guide/): Set up searchable fields, search and filter orders, save segments, act on results in bulk and read the search analytics. - [Security Guard user guide](https://pluginsprout.com/docs/security-guard-guide/): Run a scan, read the findings, save a baseline, turn on the script filter and Content-Security-Policy, and clean up if the scan finds malware. - [Setting up LearnDash Certificate Expiry](https://pluginsprout.com/docs/learndash-certificate-expiry-guide/): Give certificates an expiry date, send renewal reminders, charge for or approve certificates, and publish a verification page with QR codes. - [Setting up LearnDash Certificate Renewal](https://pluginsprout.com/docs/learndash-certificate-renewal-guide/): Choose how students renew each course, set up a recertification quiz or renewal product, and understand the signed renewal link. - [WP Referral Clarity user guide](https://pluginsprout.com/docs/wp-referral-clarity-guide/): The dashboard, reports, anomaly flags, status explanations and settings, plus what your affiliates see. ## Guides - [An AI shopping assistant for WooCommerce that doesn’t make up prices](https://pluginsprout.com/guides/woocommerce-ai-assistant-accurate-prices/): A shop assistant quotes wrong prices when it answers from what the AI model remembers or scraped, instead of from your store. The fix is to make it look up price, stock and availability in WooCommerce on every product question, answer policy questions only from text you wrote, never offer a discount it wasn't given, and hand the customer to a person when it can't help. - [Fake Cloudflare CAPTCHA on your WordPress site: how to find the “Verify you are human” script and remove it](https://pluginsprout.com/guides/fake-cloudflare-captcha-wordpress-clickfix/): A "Verify you are human" box that tells visitors to press Win+R and paste a command is not Cloudflare. It is ClickFix, served by a script someone injected into your WordPress site. Here is where that script hides, how to find it by hand, how to stop it showing while you clean, and what to tell visitors who ran the command. - [How to check if your WordPress site is hacked: 8 checks, including the ones most lists skip](https://pluginsprout.com/guides/check-if-wordpress-site-is-hacked/): Symptoms tell you something is wrong. These eight checks tell you where: core checksums, PHP in uploads, must-use plugins, administrators the Users screen hides, changed files, scripts in the database, the page a stranger sees and scheduled tasks. Each one has the exact command and the output that means trouble. - [How to clear card-testing orders from WooCommerce without deleting real ones](https://pluginsprout.com/guides/clean-up-woocommerce-card-testing-orders/): A card-testing attack leaves thousands of failed and pending orders that bury the real ones. Preview what matches, leave paid, subscription and very recent orders alone, move the rest to the trash in the background, read who was behind it, and restore the run if you got it wrong. - [How to cut appointment no-shows on a WordPress site](https://pluginsprout.com/guides/reduce-appointment-no-shows-wordpress/): Most no-shows come from people who forgot, or who couldn't make it and found it easier to skip than to tell you. Take a deposit at booking so the time has a cost, send a reminder a day before by email and by text, and put a reschedule link in every email so changing is easier than not turning up. - [How to make LearnDash certificates expire](https://pluginsprout.com/guides/make-learndash-certificates-expire/): LearnDash can't expire a certificate on its own. Its Course Access Expiration setting ends access to the course, counted from enrolment, but the certificate a student already earned stays valid. To give each certificate a real end date you need either custom code or an add-on that stores an expiry per student. - [How to run annual recertification in LearnDash](https://pluginsprout.com/guides/learndash-annual-recertification/): Annual recertification needs two things LearnDash doesn't have: a certificate that expires, and a way for the student to renew it without emailing you. Once certificates have an expiry date, the usual renewal routes are retaking the course, passing a short recertification quiz, or paying for a renewal. The reminder email should link straight to whichever one the course uses. - [How to search WooCommerce orders by custom fields, SKU and order notes](https://pluginsprout.com/guides/search-woocommerce-orders-sku-note-custom-field/): You can't search WooCommerce orders by custom fields out of the box. Type a PO number, a gift message or a delivery date and it comes back empty, because order meta isn't searched by default. A developer can add a meta key with a filter. Order Search Pro for WooCommerce lets you tick the key and rebuild its index instead. - [How to sell a LearnDash certificate separately from the course](https://pluginsprout.com/guides/sell-learndash-certificate-separately/): You can let people take a LearnDash course for free and charge only when they want the certificate. The setup is a WooCommerce product on the certificate, one rule on the course and an unlock status. Here is how it works, and the parts that catch people out. - [How to spot affiliate fraud in AffiliateWP](https://pluginsprout.com/guides/affiliatewp-fraud-signs/): Start with AffiliateWP's own Anti-Fraud settings: self-referral prevention and blocked referring sites are on every plan, and the Pro plan adds checks for referring sites, conversion rates, paid ads and many sign-ups from one IP address. Then review what rules can't judge (bursts of orders, customers who look like the affiliate, sudden spikes) before referrals are paid, because a payout is much harder to undo than a rejection. - [How to stop WooCommerce card testing and spam orders (then clean up)](https://pluginsprout.com/guides/stop-woocommerce-card-testing-spam-orders/): To stop WooCommerce card testing, put a check in front of the checkout and switch on the fraud tools your payment gateway already has. Both are free. WooCommerce 11.2.1 has a checkout rate limit, but it covers only the block checkout. When the attack has stopped, clear the failed orders it left behind. - [How to take payment for Zoom or Google Meet appointments on WordPress](https://pluginsprout.com/guides/paid-zoom-google-meet-bookings-wordpress/): A paid online appointment needs three things to work together: a price on the service, Stripe to take the money, and a Zoom or Google Meet link that reaches the customer once they've paid. Here is how to set that up in Appointure, and what happens when someone doesn't pay. - [HPOS and WooCommerce order search: what changed](https://pluginsprout.com/guides/woocommerce-hpos-order-search/): HPOS moved WooCommerce orders out of the WordPress posts tables into dedicated order tables, and gave the order search a new query and a dropdown to narrow it. Custom code that added fields to the old search, through the woocommerce_shop_order_search_fields filter, doesn't apply to HPOS, so stores that switch can quietly lose searches they relied on. - [LearnDash affiliate plugin: setting up AffiliateWP for course sales, refunds and pending referrals](https://pluginsprout.com/guides/learndash-affiliate-plugin/): AffiliateWP works as a LearnDash affiliate plugin in two ways. Its own LearnDash integration tracks course sales paid through Stripe only. Its WooCommerce integration tracks LearnDash courses sold as WooCommerce products, adds a commission rate per course and rejects refunded sales on its own. If you offer refunds, sell through WooCommerce. - [LearnDash certificate shortcodes: the full list and what each prints](https://pluginsprout.com/guides/learndash-certificate-shortcodes/): LearnDash certificate shortcodes are four tags you type into a certificate under LearnDash LMS > Certificates. [usermeta] prints the learner, [courseinfo] a course, [quizinfo] a quiz and [groupinfo] a group. Each takes a show or field attribute that picks the value, and the date values take a format attribute. - [Syncing WordPress bookings with Google Calendar both ways](https://pluginsprout.com/guides/wordpress-booking-google-calendar-sync/): Two-way sync means bookings made on your site appear in Google Calendar, and events already in Google Calendar block those times on your site. One-way sync only does the first half, so a dentist's appointment you added on your phone can still be booked over. Connect the calendar through Google's own OAuth, then test it by adding an event and checking the slot disappears. - [Verify LearnDash certificates with a QR code (free plugin)](https://pluginsprout.com/guides/learndash-certificate-verification-qr-code/): To add a LearnDash certificate verification QR code, install our free CertiSprout and put [cert_qr_verify] in your certificate. Each certificate then prints a QR code and a code. Scanning it opens a page on your own site that says the certificate is valid, no longer valid, or not found. - [What “pending” means in AffiliateWP, and how to stop “where’s my commission?” emails](https://pluginsprout.com/guides/affiliatewp-pending-referrals/): In AffiliateWP, a pending referral has been recorded but not confirmed yet, usually because the order isn't complete. Pending referrals are only visible to site admins: they don't appear in the affiliate's own area and don't count towards their earnings. That gap between "I sent a sale" and "nothing shows up" is where most commission emails come from. ## Comparisons - [AffiliateWP reports vs WP Referral Clarity](https://pluginsprout.com/comparisons/affiliatewp-reports-vs-wp-referral-clarity/): AffiliateWP's own Reports screen covers referrals, affiliates, payouts, visits and campaigns with date filters, and its Affiliate Portal add-on gives affiliates a full-screen dashboard. What neither shows is pending referrals to affiliates, or a plain-language reason for each status. WP Referral Clarity adds those, plus saved and scheduled reports and a review screen for unusual patterns. - [Certificate expiry for LearnDash: the options compared](https://pluginsprout.com/comparisons/learndash-certificate-expiry-options-compared/): If you only need course access to end after a set number of days, LearnDash's built-in Course Access Expiration does that. If each student's certificate needs its own expiry date from completion, you need an add-on. Certificate Tracker PRO and our Certificate Expiry both do that; they differ mainly in reminders, verification and renewal. - [WooCommerce failed and pending order cleanup tools compared](https://pluginsprout.com/comparisons/woocommerce-failed-order-cleanup-tools-compared/): Some tools clean up failed WooCommerce orders, some cancel or expire old unpaid ones, and some block card testing before it starts. They solve different problems, and a store hit by an attack may need two of them. Here is what each one does, from its own page. - [WooCommerce order search plugins compared](https://pluginsprout.com/comparisons/woocommerce-order-search-plugins-compared/): If you only need to find orders by SKU, a single-purpose add-on does that. If you need SKUs, order notes and custom fields together, the realistic options are SearchWP with its WooCommerce extension (a whole-site search plugin) and a dedicated order search such as Order Search Pro for WooCommerce. WooCommerce's own search covers none of the three. - [WordPress appointment booking plugins compared](https://pluginsprout.com/comparisons/wordpress-appointment-booking-plugins-compared/): If you want to pay nothing, Bookly's free plan already lists Stripe deposits, Google Calendar, Zoom and text reminders. If you need recurring appointments or several locations, LatePoint includes them on every plan and BookingPress from its Professional plan. Appointure covers one business or a small team with deposits, two-way Google Calendar sync, Zoom and Meet links, and SMS or WhatsApp reminders, for $79 a year on one site. - [WordPress malware scanners compared: Wordfence, Sucuri, MalCare, Solid Security, Jetpack Protect and Security Guard](https://pluginsprout.com/comparisons/wordpress-malware-scanners-compared/): WordPress malware scanners do different jobs. Some scan in the vendor's cloud, some on your server, some clean for you and some come with a firewall. Here is what each one does, from its own page, checked on 20 October 2026, with the price for one site.