[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fAG5k7ocBmLDCJ_ZPApGt04QybSI6mg-bmhpAgNHDIjI":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":18,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":88,"crawl_stats":37,"alternatives":95,"analysis":202,"fingerprints":1099},"wpcomplete","WPComplete","2.9.5.4","StellarWP","https:\u002F\u002Fprofiles.wordpress.org\u002Fstellarwp\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fithemes.com\u002Fwpcomplete-joining-ithemes-family\" rel=\"nofollow ugc\">WPComplete has joined the iThemes family!\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>WPComplete is a WordPress plugin that helps your students keep track of their progress through your course or membership site.\u003C\u002Fp>\n\u003Cp>All you have to do is pick which pages or posts can be marked as “Completed”.\u003C\u002Fp>\n\u003Cp>There’s no programming required, it works with every WordPress theme, WordPress course plugin, and is ready to use instantly. Help your students complete the course you’ve put so much information, knowledge and heart into creating.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Free version\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Mark lessons as complete – students can complete lessons so they know how far they’ve progressed in your course.\u003C\u002Fli>\n\u003Cli>Quick toggle – set which pages or posts are completable via Quick Edit or by editing the page\u002Fpost.\u003C\u002Fli>\n\u003Cli>Any theme, any plugin – use WPComplete with any WordPress theme or membership plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>PRO version\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WPComplete is available as a PRO version with lots of extra features to help you customize and visually show students their progress.\u003Cbr \u002F>\n* Supports multiple courses within a single WordPress site.\u003Cbr \u002F>\n* Supports multiple buttons per lesson (if each lesson has multiple aspects, think: completed video lesson, completed workbooks, completed spreadsheet)\u003Cbr \u002F>\n* Custom post types – Using something other than pages and posts? Not a problem!\u003Cbr \u002F>\n* Course progression – when a student clicks complete, they’re taken to the next lesson automagically.\u003Cbr \u002F>\n* Dead-easy shortcodes – without any programming, add shortcodes for buttons, graphs, and completion text.\u003Cbr \u002F>\n* Complete\u002FIncomplete custom messages – show a message on each lesson that disappears if the complete button is pressed, or, show a message only if the complete button is pressed.\u003Cbr \u002F>\n* View progress – see the number of students who’ve completed each lesson or percentage complete by each student.\u003Cbr \u002F>\n* Fancy graphs – use a bar or circle graph to display progress through your course via simple shortcodes.\u003Cbr \u002F>\n* Completion indicators – visually show logged in students which lessons they have already completed.\u003Cbr \u002F>\n* Dashboard widget – see how many buttons and users each course has, right on your admin dashboard.\u003Cbr \u002F>\n* Customize everything – choose different wording for the completion buttons and\u002For pick colours for the buttons and graphs.\u003Cbr \u002F>\n* Email support – we are available to quickly answer questions, fix bugs and take feature requests.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpcomplete.co\" rel=\"nofollow ugc\">https:\u002F\u002Fwpcomplete.co\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Although WPC is course platform agnostic, we’ve thoroughly tested it with: \u003Ca href=\"https:\u002F\u002Frestrictcontentpro.com\u002F\" rel=\"nofollow ugc\">Restrict Content Pro\u003C\u002Fa>, Memberful and WOO.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Please vote & enjoy\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you like WPComplete, please \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fwpcomplete\" rel=\"ugc\">leave us a ★★★★★ rating\u003C\u002Fa>. Your votes really make a difference! Thanks.\u003C\u002Fp>\n","A WordPress plugin that helps your students keep track of their progress through your course.",1000,24384,82,43,"2025-10-14T19:42:00.000Z","6.8.5","4.5.3","",[20,21,22,23,24],"complete","courses","mark","read","teaching","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpcomplete.2.9.5.4.zip",95,4,0,"2025-10-24 00:00:00","2026-03-15T15:16:48.613Z",[32,47,62,74],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":6,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":46},"CVE-2025-49906","wpcomplete-missing-authorization","WPComplete \u003C= 2.9.5.3 - Missing Authorization","The WPComplete plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on the delete_button() function in all versions up to, and including, 2.9.5.3. This makes it possible for unauthenticated attackers to delete buttons.",null,"\u003C=2.9.5.3","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2025-10-29 15:36:36",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F10029296-1cb8-47dd-a0f0-833a906e72b5?source=api-prod",6,{"id":48,"url_slug":49,"title":50,"description":51,"plugin_slug":4,"theme_slug":37,"affected_versions":52,"patched_in_version":53,"severity":39,"cvss_score":54,"cvss_vector":55,"vuln_type":56,"published_date":57,"updated_date":58,"references":59,"days_to_patch":61},"CVE-2025-58974","wpcomplete-authenticated-contributor-stored-cross-site-scripting-2","WPComplete \u003C= 2.9.5.2 - Authenticated (Contributor+) Stored Cross-Site Scripting","The WPComplete plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 2.9.5.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","\u003C=2.9.5.2","2.9.5.3",6.4,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-09-22 00:00:00","2025-09-26 19:02:23",[60],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fa03e825f-bccf-4e1a-b3f5-86b0c6958b79?source=api-prod",5,{"id":63,"url_slug":64,"title":65,"description":66,"plugin_slug":4,"theme_slug":37,"affected_versions":67,"patched_in_version":68,"severity":39,"cvss_score":54,"cvss_vector":55,"vuln_type":56,"published_date":69,"updated_date":70,"references":71,"days_to_patch":73},"CVE-2025-50046","wpcomplete-authenticated-contributor-stored-cross-site-scripting","WPComplete \u003C= 2.9.5 - Authenticated (Contributor+) Stored Cross-Site Scripting","The WPComplete plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 2.9.5 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.","\u003C=2.9.5","2.9.5.1","2025-06-19 00:00:00","2025-06-27 17:24:26",[72],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F56104b40-2d8a-40c9-8e80-01a093e54424?source=api-prod",9,{"id":75,"url_slug":76,"title":77,"description":78,"plugin_slug":4,"theme_slug":37,"affected_versions":79,"patched_in_version":80,"severity":39,"cvss_score":81,"cvss_vector":82,"vuln_type":56,"published_date":83,"updated_date":84,"references":85,"days_to_patch":87},"CVE-2022-45825","wpcomplete-reflected-cross-site-scripting","WPComplete \u003C= 2.9.4 - Reflected Cross-Site Scripting","The WPComplete plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'message' parameter in versions up to, and including, 2.9.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C2.9.5","2.9.5",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","2023-01-27 00:00:00","2024-01-22 19:56:02",[86],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F0e3adbc2-fa45-4c35-a214-2b101e8c9748?source=api-prod",361,{"slug":89,"display_name":7,"profile_url":8,"plugin_count":90,"total_installs":91,"avg_security_score":26,"avg_patch_time_days":92,"trust_score":93,"computed_at":94},"stellarwp",26,3113110,455,76,"2026-04-05T16:31:51.130Z",[96,120,142,162,182],{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":104,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":111,"tags":112,"homepage":117,"download_link":118,"security_score":119,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"semrush-seo-writing-assistant","Semrush SEO Writing Assistant","1.2.1","SEMrush CY LTD","https:\u002F\u002Fprofiles.wordpress.org\u002Fsemrush\u002F","\u003Cp>For your content to be successful, it needs to be visible and engaging. SEO Writing Assistant—our smart editor tool—ensures that your text ticks both of these boxes by providing recommendations and improvements in real time.\u003C\u002Fp>\n\u003Cp>The tool integrates seamlessly with WordPress and offers key readability and SEO suggestions based on the best-performing content in Google’s SERPs. Whether you’re writing your own copy or editing someone else’s, SEO Writing Assistant makes the end product as impactful and effective as possible—for readers and search engines.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Readability:\u003C\u002Fstrong> Use the Flesch-Kincaid score to assess and improve your text’s readability\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recommended Keywords:\u003C\u002Fstrong> Receive semantically related keyword suggestions that can help boost your visibility\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tone of Voice:\u003C\u002Fstrong> Ensure that your tone is smooth and consistent across your text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Plagiarism Check:\u003C\u002Fstrong> Verify that your writer has submitted original content and avoid penalization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Rephraser:\u003C\u002Fstrong> Rework pieces of text to improve quality, target different channels, or overcome writer’s block\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Overall Score:\u003C\u002Fstrong> Evaluate and maximize the SEO potential of your text based on key on-page factors\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How Does It Work?\u003C\u002Fh3>\n\u003Cp>The SEO Writing Assistant plugin allows you to write, assess, and edit your content in WordPress.\u003C\u002Fp>\n\u003Cp>To set it up, follow these steps:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Click “Download” at the top of this page. The plugin will automatically save as a .zip file.\u003C\u002Fli>\n\u003Cli>Log in to the admin area of your WordPress account.\u003C\u002Fli>\n\u003Cli>Find “Plugins” in the main menu, and click on “Add New”.\u003C\u002Fli>\n\u003Cli>Find and click “Upload Plugin” at the top of the page and select the .zip file.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Once the plugin has been installed, it should be activated in your “Installed Plugins” list (if it isn’t, ensure that you do so). Go to the page or post you want to optimize and click on “Connect SEO Content Template” (you will need to be logged in to your Semrush account).\u003C\u002Fp>\n\u003Ch3>Limits\u003C\u002Fh3>\n\u003Cp>To use SEO Writing Assistant, you need to first specify your target keywords. This requires a Semrush account.\u003C\u002Fp>\n\u003Cp>With a Free or Pro Semrush account, you can create one recommendation set (tied to a document) for a lifetime. Higher tier accounts have different keyword budgets depending on the subscription plan, as well as full access to the powerful Semrush Content Marketing Platform.\u003C\u002Fp>\n\u003Ch3>Technical details\u003C\u002Fh3>\n\u003Cp>Please be aware that the plugin uses a third-party code provided by the \u003Ca href=\"https:\u002F\u002Fwww.semrush.com\u002Fswa\u002F\" rel=\"nofollow ugc\">Semrush SEO Writing Assistant\u003C\u002Fa> tool that is not reviewed by the WordPress team. To analyze your text, the plugin will send it to Semrush API where texts can also be stored for statistical analysis. To improve user experience, telemetry data is collected by Google Analytics.\u003C\u002Fp>\n\u003Cp>See also\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.semrush.com\u002Fcompany\u002Flegal\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">Semrush Privacy Policy\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.semrush.com\u002Fcompany\u002Flegal\u002Fterms-of-use\u002F\" rel=\"nofollow ugc\">Semrush Terms and Conditions\u003C\u002Fa>\u003C\u002Fp>\n","The Semrush SEO Writing Assistant provides instant recommendations for content optimization based on the best-performing articles in Google's top 10.",10000,172202,56,25,"2025-12-22T09:34:00.000Z","6.9.4","4.8","5.2.4",[113,114,115,116],"content-analysis","content-marketing","readability","seo","https:\u002F\u002Fwww.semrush.com\u002Fswa\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsemrush-seo-writing-assistant.zip",100,{"slug":121,"name":122,"version":123,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":11,"downloaded":128,"rating":129,"num_ratings":130,"last_updated":131,"tested_up_to":109,"requires_at_least":132,"requires_php":18,"tags":133,"homepage":139,"download_link":140,"security_score":26,"vuln_count":61,"unpatched_count":28,"last_vuln_date":141,"fetched_at":30},"wp-email-capture","Email Marketing Plugin – WP Email Capture","3.12.6","Rhys Wynne","https:\u002F\u002Fprofiles.wordpress.org\u002Frhyswynne\u002F","\u003Cp>This creates a 2 field form (Name & Email) for capturing emails. Email is double opt in, and allows you to forward opt in to services such as ebooks or software. When you are ready to begin your email marketing campaign, simply export the list into your chosen email marketing software or service. WP Email Capture now comes with a number of \u003Ca href=\"https:\u002F\u002Fwww.wpemailcapture.com\u002Fdownloads\u002F?utm_source=description&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">integrations and extensions\u003C\u002Fa>, including \u003Ca href=\"https:\u002F\u002Fwww.wpemailcapture.com\u002Fpremium?utm_source=description&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">WP Email Capture Premium\u003C\u002Fa> allows you to build multiple lists, track stats and have custom fields and templates\u003C\u002Fp>\n\u003Cp>WP Email Capture Free Features:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widget Ready.\u003C\u002Fli>\n\u003Cli>Uses WordPress’ internal wp_mail function for sending mail.\u003C\u002Fli>\n\u003Cli>Easily integrated with posts & pages.\u003C\u002Fli>\n\u003Cli>Dashboard Widget.\u003C\u002Fli>\n\u003Cli>GDPR Friendly\u003C\u002Fli>\n\u003Cli>Export data into CSV files, compatible with most major Email Marketing Programmes (including Aweber, Mailchimp, Groupmail, Constant Contact)\u003C\u002Fli>\n\u003Cli>Double opt in, so compatible with CAN-SPAM act.\u003C\u002Fli>\n\u003Cli>reCAPTCHA integration\u003C\u002Fli>\n\u003Cli>And completely free!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For more details please visit the official site of \u003Ca href=\"https:\u002F\u002Fwww.wpemailcapture.com\u002F?utm_source=description&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">WP Email Capture\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Now Released is WP Email Capture Premium!\u003C\u002Fstrong> You get all the above features plus the following:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Stat tracking – track the visitors to your site and where your sign ups come from.\u003C\u002Fli>\n\u003Cli>Autoresponders – Create an autoresponder email, an email sent to the user when they sign up to your site.\u003C\u002Fli>\n\u003Cli>Multiple lists – Create multiple lists for your site.\u003C\u002Fli>\n\u003Cli>Build External Lists – If you have a Constant Contact, Mailchimp or Aweber account, you can use WP Email Capture to build to these services directly.\u003C\u002Fli>\n\u003Cli>Custom Fields – You can capture more than just visitors name & email, add your own custom fields to capture (such as phone number or Address).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You also get premium support and further documentation. For more information, and to purchase, \u003Ca href=\"https:\u002F\u002Fwww.wpemailcapture.com\u002Fpremium\u002F?utm_source=wpemailcapturepremium&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">visit the plans and pricing page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Keep in Contact:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.facebook.com\u002Fwpemailcapture\" rel=\"nofollow ugc\">WP Email Capture on Facebook\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwww.twitter.com\u002Fwpemailcapture\" rel=\"nofollow ugc\">@WPEmailCapture\u003C\u002Fa> on Twitter\u003C\u002Fli>\n\u003Cli>For support requests please visit the \u003Ca href=\"https:\u002F\u002Fwww.wpemailcapture.com\u002Ffree-plugin\u002Ffrequently-asked-questions\u002F?utm_source=contact&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">FAQ’s\u003C\u002Fa>, or leave a message in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwp-email-capture\" rel=\"ugc\">WordPress Support Forum\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>For general feature requests or bug notices \u003Ca href=\"http:\u002F\u002Fwpemailcapture.com\u002Fcontact\u002F?utm_source=contact&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">please contact me directly\u003C\u002Fa>, however any support requests sent via the contact form, Facebook Page or Twitter Feed will be ignored – please use the WordPress Support Forum – please note I’m unable to support CSS or styling queries, please read the “Stylings” area on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-email-capture\u002Fother_notes\u002F?utm_source=contact&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"ugc\">other notes\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Translation Credits:-\u003C\u002Fp>\n\u003Cp>Translations have been done by the following parties. Thank you!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>French Translation: Olivier – http:\u002F\u002Fwww.ticket-system.net\u002F & Andrew Patton (@andpatton) – http:\u002F\u002Fwww.acusti.ca\u002F\u003C\u002Fli>\n\u003Cli>German Translation: Stephan – http:\u002F\u002Fwww.computersniffer.com\u002F, Marc Nilius (@libertello) – http:\u002F\u002Fwww.libertello.de\u002F and Ov3rFly\u003C\u002Fli>\n\u003Cli>Brazilian Portugese Translation: Nick Lima (@nick_linux) – http:\u002F\u002Fwww.nicklima.com.br\u003C\u002Fli>\n\u003Cli>Dutch Translation: Sander – http:\u002F\u002Fwww.zanderz.net\u002F\u003C\u002Fli>\n\u003Cli>Hungarian Translation: Surbma – http:\u002F\u002Fsurbma.hu\u002F\u003C\u002Fli>\n\u003Cli>Spanish Translation: David Bravo – http:\u002F\u002Fdimensionmultimedia.com\u003C\u002Fli>\n\u003Cli>Italian Translation: Giuseppe Marino – http:\u002F\u002Fit.gravatar.com\u002Fgpmarino\u003C\u002Fli>\n\u003Cli>Serbian Translation: Borisa Djuraskovic – http:\u002F\u002Fwww.webhostinghub.com\u002F\u003C\u002Fli>\n\u003Cli>Croatian Translation: Lem Treursić – http:\u002F\u002Fgrafika-dizajn.com\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Bugs\u002FSuggestions\u002FSupport\u003C\u002Fh3>\n\u003Cp>Please report any bugs, support and suggestions to the \u003Ca href=\"http:\u002F\u002Fwww.wpemailcapture.com\u002Fsupport\u002F?utm_source=support&utm_medium=wordpressorgreadme&utm_campaign=wpemailcapture\" rel=\"nofollow ugc\">WP Email Capture Support Page\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Stylings\u003C\u002Fh3>\n\u003Cp>To style your form, you need to add to your CSS file the following ID declarations. \u003Ccode>wp_email_capture\u003C\u002Fcode> is for sidebar & template widgets, \u003Ccode>wp_email_capture_2\u003C\u002Fcode> is for on page forms.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>#wp_email_capture\n{\n\n}\n#wp_email_capture label.wp-email-capture-name\n{\n\n}\n#wp_email_capture label.wp-email-capture-email\n{\n\n}\n#wp_email_capture input.wp-email-capture-name\n{\n\n}\n#wp_email_capture input.wp-email-capture-email\n{\n\n}\n#wp_email_capture_2\n{\n\n}\n#wp_email_capture_2 label.wp-email-capture-name\n{\n\n}\n#wp_email_capture_2 label.wp-email-capture-email\n{\n\n}\n#wp_email_capture_2 input.wp-email-capture-name\n{\n\n}\n#wp_email_capture_2 input.wp-email-capture-email\n{\n\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Double opt-in form for building your email list. Define landing pages to distribute your ebooks & software.",307457,86,19,"2025-12-15T10:58:00.000Z","5.0",[134,135,136,137,138],"email","email-marketing","gutenberg-ready","mailing-list","widget-ready","https:\u002F\u002Fwww.wpemailcapture.com\u002F?utm_source=plugin-link&utm_medium=plugin&utm_campaign=wpemailcapture","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-email-capture.3.12.6.zip","2025-12-31 00:00:00",{"slug":143,"name":144,"version":145,"author":124,"author_profile":125,"description":146,"short_description":147,"active_installs":148,"downloaded":149,"rating":150,"num_ratings":151,"last_updated":152,"tested_up_to":109,"requires_at_least":153,"requires_php":18,"tags":154,"homepage":159,"download_link":160,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":161,"fetched_at":30},"ebay-feeds-for-wordpress","WP eBay Product Feeds","3.4.10","\u003Cp>WP eBay Product Feeds allows you to quickly and easily place feeds from the eBay Partner Network into your WordPress blog. These can easily be embedded into posts, placed as widgets or inserted into the themes – flexibility is huge. This plugin is ideal for bloggers who wish to make more money through their blogs by promoting eBay’s affiliate programme, as well as users who sell their own items on eBay.\u003C\u002Fp>\n\u003Cp>\u003Cem>Please Note\u003C\u002Fem> From 1st September 2020 the Dynamic Feed Generator from eBay is being withdrawn. We’ve tested another service – \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002F?post_type=surl&p=4793&preview=true\" rel=\"nofollow ugc\">RSS Ground\u003C\u002Fa>, that will be used to handle feeds, though any other feed generator will work.\u003C\u002Fp>\n\u003Cp>\u003Cem>Having Problems?\u003C\u002Fem> Please use the either the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Febay-feeds-for-wordpress\u002F\" rel=\"ugc\">WordPress.org support forums\u003C\u002Fa> and I’ll attempt to get back to you quickly. In a rush? Use our \u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fpriority-support\u002F?utm_source=description&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">\u003Cstrong>Priority Support Forums\u003C\u002Fstrong>\u003C\u002Fa> to get an answer within 1 business day.\u003C\u002Fp>\n\u003Ch4>WP eBay Product Feeds Premium\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fplugins\u002Febay-feeds-for-wordpress-premium\u002F?utm_source=ebayfeedsforwordpresspremium&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">\u003Cstrong>WP eBay Product Feeds Premium\u003C\u002Fstrong>\u003C\u002Fa> is a plugin that extends the usability of WP eBay Product Feeds to allow you to create simple templates. You can turn feeds into beautiful shop style layouts, encouraging clickthroughs, higher sales and more referrals.\u003C\u002Fp>\n\u003Cp>Also, from 2.3, you can now use WP eBay Product Feeds Premium to introduce smart links into your post. Save time and effort creating affiliate links to eBay using Smart Links!\u003C\u002Fp>\n\u003Ch4>About Winwar Media\u003C\u002Fh4>\n\u003Cp>This plugin is made by \u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002F?utm_source=about&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">\u003Cstrong>Winwar Media\u003C\u002Fstrong>\u003C\u002Fa>, a WordPress Development and Training Agency in Manchester, UK.\u003C\u002Fp>\n\u003Cp>Why don’t you?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fplugins\u002Febay-feeds-wordpress\u002F?utm_source=about&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">WP eBay Product Feeds\u003C\u002Fa> WordPress Plugin homepage with further instructions.\u003C\u002Fli>\n\u003Cli>Check out more of our \u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fplugins\u002F?utm_source=about&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">WordPress Plugins\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Follow us on Social Media, such as \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fwinwaruk\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fwinwaruk\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fplus.google.com\u002F+WinwarCoUk\" rel=\"nofollow ugc\">Google+\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fcontact-us\u002F?utm_source=about&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">Send us an email\u003C\u002Fa>! We like hearing from plugin users.\u003C\u002Fli>\n\u003Cli>Check out our book, \u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fbooks\u002Fbbpress-complete\u002F?utm_source=about&utm_medium=wordpressorgreadme&utm_campaign=ebayfeedsforwordpress\" rel=\"nofollow ugc\">bbPress Complete\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>For Support\u003C\u002Fh4>\n\u003Cp>We offer support in two places:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Febay-feeds-for-wordpress\" rel=\"ugc\">WordPress.org Support Board\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Want to help development?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Fix (or submit) an issue on Github.\u003C\u002Fli>\n\u003C\u002Ful>\n","Display feeds of eBay Products from eBay Partner Network on your site.",800,100712,94,17,"2025-11-30T12:09:00.000Z","3.0",[155,156,157,158,136],"affiliate-marketing","block","ebay-partner-feeds","ebay-partner-network","https:\u002F\u002Fwww.winwar.co.uk\u002Fplugins\u002Febay-feeds-wordpress\u002F?utm_source=plugin-link&utm_medium=plugin&utm_campaign=ebayfeedsforwordpress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Febay-feeds-for-wordpress.3.4.10.zip","2025-12-15 00:00:00",{"slug":163,"name":164,"version":165,"author":124,"author_profile":125,"description":166,"short_description":167,"active_installs":168,"downloaded":169,"rating":119,"num_ratings":170,"last_updated":171,"tested_up_to":109,"requires_at_least":172,"requires_php":18,"tags":173,"homepage":178,"download_link":179,"security_score":119,"vuln_count":180,"unpatched_count":28,"last_vuln_date":181,"fetched_at":30},"inline-tweet-sharer","Inline Tweet Sharer – Twitter Sharing Plugin","2.6.9","\u003Cp>Inline Tweet Sharer is a plugin that allows you to easily and simply create links to share your content on twitter. These links share whatever the anchor text is (as well as a prefix or suffix if context is needed), so it is designed to share tweetable content (like stats, quotes, titbits or competition entries) easily and quickly on twitter, hopefully encouraging people to click on said links, increasing traffic to your blog.\u003C\u002Fp>\n\u003Cp>Links can either be highlighted as Twitter links or look the same as regular links, and there is a Rich Text Editor button you can use to click and easily add the links.\u003C\u002Fp>\n\u003Cp>You can see an example on the \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fplugins\u002Finline-tweet-sharer\u002F?utm_source=description&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">Inline Tweet Sharer Plugin page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>For more information, please visit the \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fdocumentation\u002Finline-tweet-sharer\u002F?utm_source=description&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">Inline Tweet Sharer Documentation page\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Inline Tweet Sharer Premium\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fplugins\u002Finline-tweet-sharer-premium\u002F?utm_source=inline-tweet-sharer-premium&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">Inline Tweet Sharer Premium\u003C\u002Fa> is a plugin that will allow you to control and monitor your twitter messages from your blog. Features include:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Integration with Google Analytics – generate campaigns for your tweets and find out which ones are the most popular, or not.\u003C\u002Fli>\n\u003Cli>Add a data-related Twitter Account – After people share your tweets, you can encourage followers to follow you!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Gutenberg Notes\u003C\u002Fh4>\n\u003Cp>This plugin is compatible with Gutenberg. For ease of use, please create your tweet strings in the “Classic” Content Block.\u003C\u002Fp>\n\u003Ch4>About Winwar Media\u003C\u002Fh4>\n\u003Cp>This plugin is made by \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002F?utm_source=aboutwinwarmedia&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">\u003Cstrong>Winwar Media\u003C\u002Fstrong>\u003C\u002Fa>, a WordPress Development and Training Agency in Manchester, UK.\u003C\u002Fp>\n\u003Cp>Why don’t you?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Check out our book, \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fbooks\u002Fbbpress-complete\u002F?utm_source=aboutwinwarmedia&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">bbPress Complete\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Check out our other \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fplugins\u002F?utm_source=aboutwinwarmedia&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">WordPress Plugins\u003C\u002Fa>, including \u003Ca href=\"http:\u002F\u002Fwpemailcapture.com\" rel=\"nofollow ugc\">WP Email Capture\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Follow us on Social Media, such as \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fwinwaruk\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fwinwaruk\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fplus.google.com\u002F+WinwarCoUk\" rel=\"nofollow ugc\">Google+\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fcontact-us\u002F?utm_source=aboutwinwarmedia&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">Send us an email\u003C\u002Fa>! We like hearing from plugin users.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>For Support\u003C\u002Fh4>\n\u003Cp>We offer support in two places:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Support on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Finline-tweet-sharer\" rel=\"ugc\">WordPress.org Support Board\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>A \u003Ca href=\"https:\u002F\u002Fwww.winwar.co.uk\u002Fpriority-support\u002F?utm_source=support&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">priority support forum\u003C\u002Fa>, which offers same-day responses.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>On Github\u003C\u002Fh4>\n\u003Cp>This project is now on github, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frhyswynne\u002Finline-tweet-sharer\u002F\" rel=\"nofollow ugc\">you can view the repository here\u003C\u002Fa>. There are other versions, but this is the one I’ve put up, so where all the developmental will be tracked.\u003C\u002Fp>\n\u003Ch4>Translation Credits\u003C\u002Fh4>\n\u003Cp>The plugin has been translated to the following languages.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Italian – \u003Ca href=\"http:\u002F\u002Fwww.gleenk.com\u002F\" rel=\"nofollow ugc\">Davide De Maestri\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To contribute a translation, please \u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">contact me\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch3>CSS Help\u003C\u002Fh3>\n\u003Cp>The CSS classes for the plugin are the following:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>a.inline-twitter-link\u003C\u002Fstrong> – style for the entire link.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>a.inline-twitter-link span\u003C\u002Fstrong> – style for the twitter logo at the end of the link.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>a:hover.inline-twitter-link\u003C\u002Fstrong> – style for the entire link with when hovered over it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>a:hover.inline-twitter-link span\u003C\u002Fstrong> – style for the twitter logo at the end of the link when hovered.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Found a Bug?\u003C\u002Fh3>\n\u003Cp>Any bugs found, please \u003Ca href=\"http:\u002F\u002Fwinwar.co.uk\u002Fcontact-us\u002F?utm_source=foundabug&utm_medium=wordpressorgreadme&utm_campaign=inlinetweetsharer\" rel=\"nofollow ugc\">contact us\u003C\u002Fa>.\u003C\u002Fp>\n","Inline Tweet Sharer is a plugin that allows you to easily and simply create links to share your content on twitter. These links share whatever the anc &hellip;",300,41078,11,"2025-12-11T10:19:00.000Z","3.8",[136,174,175,176,177],"social-media","social-media-marketing","social-media-promotion","twitter","https:\u002F\u002Fwww.winwar.co.uk\u002Fplugins\u002Finline-tweet-sharer\u002F?utm_source=plugin-link&utm_medium=plugin&utm_campaign=inlinetweetsharer","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finline-tweet-sharer.2.6.9.zip",1,"2023-02-15 00:00:00",{"slug":183,"name":184,"version":185,"author":186,"author_profile":187,"description":188,"short_description":189,"active_installs":168,"downloaded":190,"rating":28,"num_ratings":28,"last_updated":191,"tested_up_to":16,"requires_at_least":192,"requires_php":193,"tags":194,"homepage":200,"download_link":201,"security_score":119,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"manual-completions-tutorlms","Manual Completions TutorLMS","1.3","Pankaj Agrawal","https:\u002F\u002Fprofiles.wordpress.org\u002Fliveaspankaj\u002F","\u003Cp>Manual Completions for Tutor LMS provides a very simple interface to check completion as well as manually mark courses, lessons and quizzes as complete.\u003C\u002Fp>\n\u003Cp>You can use it for single completions as well as for \u003Cstrong>bulk completions\u003C\u002Fstrong> of hundreds of users. In one click, get all the enrolled users in the course.\u003C\u002Fp>\n\u003Cp>You can also upload a CSV files with user_id, course_id, lesson_id, quiz_id. To quickly list all the completions, and then process them in bulk in any order you want.\u003C\u002Fp>\n\u003Cp>You can also bypass completions blocked by GrassBlade xAPI Companion for xAPI Contents.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Tracking:\u003C\u002Fstrong>\u003Cbr \u002F>\n– If you have an LRS, you can see tracking data, including the user id and name of the admin who marked the lesson complete.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Requirements to use this plugin:\u003C\u002Fstrong>\u003Cbr \u002F>\nTo use this plugin you need these two plugins:\u003Cbr \u002F>\n1. \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftutor\u002F\" rel=\"ugc\">Tutor LMS\u003C\u002Fa>\u003Cbr \u002F>\n2. \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fgrassblade-lrs-experience-api\u002F\" rel=\"nofollow ugc\">GrassBlade xAPI Companion\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Other Manual Completion Plugins:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fmanual-completions-for-learndash\u002F\" rel=\"nofollow ugc\">Manual Completions for LearnDashLMS\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fmanual-completions-for-lifterlms\u002F\" rel=\"nofollow ugc\">Manual Completions for LifterLMS\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fmanual-completions-for-learnpress\u002F\" rel=\"nofollow ugc\">Manual Completions for LearnPress\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Related Plugins for TutorLMS:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fexperience-api-for-tutorlms\u002F\" rel=\"nofollow ugc\">Experience API for TutorLMS\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fvisibility-control-for-tutorlms\u002F\" rel=\"nofollow ugc\">Visibility Control for TutorLMS\u003C\u002Fa>\u003C\u002Fp>\n","Manual Completions for Tutor LMS lets you check completion as well as manually mark courses, lessons and quizzes as complete.",3359,"2025-09-11T07:22:00.000Z","4.0","7.4",[195,196,197,198,199],"completion","grassblade","manual","mark-complete","tutor","https:\u002F\u002Fwww.nextsoftwaresolutions.com\u002Fmanual-completions-for-tutor\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmanual-completions-tutorlms.1.3.zip",{"attackSurface":203,"codeSignals":614,"taintFlows":920,"riskAssessment":1087,"analyzedAt":1098},{"hooks":204,"ajaxHandlers":407,"restRoutes":454,"shortcodes":455,"cronEvents":612,"entryPointCount":613,"unprotectedCount":151},[205,211,214,216,219,222,225,228,231,234,237,240,243,246,249,252,255,258,261,264,266,268,270,272,275,277,279,281,285,288,290,293,296,299,302,306,309,312,314,317,320,323,326,332,336,339,342,347,350,354,358,361,364,367,371,375,379,382,385,388,391,394,398,402,405],{"type":206,"name":207,"callback":208,"file":209,"line":210},"action","plugins_loaded","anonymous","includes\\class-wpcomplete.php",142,{"type":206,"name":212,"callback":208,"file":209,"line":213},"admin_enqueue_scripts",157,{"type":206,"name":212,"callback":208,"file":209,"line":215},158,{"type":206,"name":217,"callback":208,"file":209,"line":218},"admin_menu",160,{"type":206,"name":220,"callback":208,"file":209,"line":221},"admin_init",161,{"type":206,"name":223,"callback":208,"file":209,"line":224},"add_meta_boxes",162,{"type":206,"name":226,"callback":208,"file":209,"line":227},"save_post",163,{"type":206,"name":229,"callback":208,"file":209,"line":230},"admin_footer-edit.php",165,{"type":206,"name":232,"callback":208,"file":209,"line":233},"load-edit.php",166,{"type":206,"name":235,"callback":208,"file":209,"line":236},"admin_notices",167,{"type":206,"name":238,"callback":208,"file":209,"line":239},"manage_pages_columns",169,{"type":206,"name":241,"callback":208,"file":209,"line":242},"manage_posts_columns",170,{"type":206,"name":244,"callback":208,"file":209,"line":245},"manage_pages_custom_column",171,{"type":206,"name":247,"callback":208,"file":209,"line":248},"manage_posts_custom_column",172,{"type":206,"name":250,"callback":208,"file":209,"line":251},"quick_edit_custom_box",173,{"type":206,"name":253,"callback":208,"file":209,"line":254},"manage_users_columns",175,{"type":206,"name":256,"callback":208,"file":209,"line":257},"manage_users_custom_column",176,{"type":206,"name":259,"callback":208,"file":209,"line":260},"admin_post_delete_user_data",177,{"type":206,"name":262,"callback":208,"file":209,"line":263},"admin_post_user_completion",178,{"type":206,"name":217,"callback":208,"file":209,"line":265},183,{"type":206,"name":217,"callback":208,"file":209,"line":267},184,{"type":206,"name":217,"callback":208,"file":209,"line":269},185,{"type":206,"name":217,"callback":208,"file":209,"line":271},186,{"type":206,"name":273,"callback":208,"file":209,"line":274},"wp_dashboard_setup",189,{"type":206,"name":220,"callback":208,"file":209,"line":276},195,{"type":206,"name":220,"callback":208,"file":209,"line":278},196,{"type":206,"name":220,"callback":208,"file":209,"line":280},197,{"type":282,"name":283,"callback":208,"file":209,"line":284},"filter","manage_knowledgebase_posts_columns",205,{"type":206,"name":286,"callback":208,"file":209,"line":287},"wp_enqueue_scripts",220,{"type":206,"name":286,"callback":208,"file":209,"line":289},221,{"type":282,"name":291,"callback":208,"file":209,"line":292},"script_loader_tag",222,{"type":282,"name":294,"callback":208,"file":209,"line":295},"the_content",224,{"type":206,"name":297,"callback":208,"file":209,"line":298},"admin_post_mark_completed",227,{"type":206,"name":300,"callback":208,"file":209,"line":301},"admin_post_mark_uncompleted",230,{"type":282,"name":303,"callback":304,"file":209,"line":305},"widget_text","do_shortcode",267,{"type":206,"name":307,"callback":208,"file":209,"line":308},"admin_post_reset",294,{"type":206,"name":310,"callback":208,"file":209,"line":311},"admin_post_nopriv_reset",295,{"type":282,"name":313,"callback":208,"file":209,"line":168},"wpcomplete_button_is_completed",{"type":282,"name":315,"callback":208,"file":209,"line":316},"wpcomplete_page_is_completed",301,{"type":282,"name":318,"callback":208,"file":209,"line":319},"wpcomplete_course_is_completed",302,{"type":282,"name":321,"callback":208,"file":209,"line":322},"wpcomplete_list_pages",308,{"type":206,"name":324,"callback":208,"file":209,"line":325},"wp_head",326,{"type":282,"name":327,"callback":328,"priority":329,"file":330,"line":331},"plugins_api","injectInfo",20,"includes\\plugin-update-checker-3.1.php",101,{"type":282,"name":333,"callback":334,"file":330,"line":335},"site_transient_update_plugins","injectUpdate",104,{"type":282,"name":337,"callback":334,"file":330,"line":338},"transient_update_plugins",105,{"type":282,"name":333,"callback":340,"file":330,"line":341},"injectTranslationUpdates",106,{"type":282,"name":343,"callback":344,"priority":345,"file":330,"line":346},"plugin_row_meta","addCheckForUpdatesLink",10,108,{"type":206,"name":220,"callback":348,"file":330,"line":349},"handleManualCheck",109,{"type":206,"name":351,"callback":352,"file":330,"line":353},"all_admin_notices","displayManualCheckResult",110,{"type":282,"name":355,"callback":356,"file":330,"line":357},"upgrader_post_install","clearCachedVersion",113,{"type":206,"name":359,"callback":356,"file":330,"line":360},"delete_site_transient_update_plugins",114,{"type":206,"name":359,"callback":362,"file":330,"line":363},"clearCachedTranslationUpdates",118,{"type":206,"name":207,"callback":365,"file":330,"line":366},"initDebugBarPanel",123,{"type":282,"name":368,"callback":369,"priority":345,"file":330,"line":370},"upgrader_source_selection","fixDirectoryName",127,{"type":282,"name":372,"callback":373,"priority":345,"file":330,"line":374},"http_request_host_is_external","allowMetadataHost",134,{"type":282,"name":376,"callback":377,"file":330,"line":378},"cron_schedules","_addCustomSchedule",1269,{"type":206,"name":220,"callback":380,"file":330,"line":381},"maybeCheckForUpdates",1281,{"type":206,"name":383,"callback":380,"file":330,"line":384},"load-update-core.php",1285,{"type":206,"name":386,"callback":380,"file":330,"line":387},"load-plugins.php",1286,{"type":206,"name":389,"callback":380,"file":330,"line":390},"load-update.php",1287,{"type":206,"name":392,"callback":380,"priority":170,"file":330,"line":393},"upgrader_process_complete",1289,{"type":282,"name":395,"callback":396,"priority":345,"file":330,"line":397},"upgrader_pre_install","setUpgradedPlugin",1415,{"type":282,"name":399,"callback":400,"priority":345,"file":330,"line":401},"upgrader_package_options","setUpgradedPluginFromOptions",1416,{"type":282,"name":355,"callback":403,"priority":345,"file":330,"line":404},"clearUpgradedPlugin",1417,{"type":206,"name":392,"callback":403,"priority":345,"file":330,"line":406},1418,[408,412,415,418,421,424,427,429,432,434,437,439,442,444,447,449,452],{"action":409,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":411},"wpc_post_lookup",false,192,{"action":413,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":414},"wpc_delete_button",200,{"action":416,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":417},"wpc_reset_button",202,{"action":419,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":420},"mark_completed",228,{"action":419,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":423},true,229,{"action":425,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":426},"mark_uncompleted",231,{"action":425,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":428},232,{"action":430,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":431},"get_button",233,{"action":430,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":433},234,{"action":435,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":436},"get_graphs",235,{"action":435,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":438},236,{"action":440,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":441},"get_content",237,{"action":440,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":443},238,{"action":445,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":446},"get_completable_list",286,{"action":445,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":448},287,{"action":450,"nopriv":410,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":451},"reset",296,{"action":450,"nopriv":422,"callback":208,"hasNonce":410,"hasCapCheck":410,"file":209,"line":453},297,[],[456,459,462,465,468,471,474,477,480,483,486,489,492,495,498,501,504,507,510,513,516,519,522,525,528,531,534,537,540,543,546,549,552,555,558,561,564,567,570,573,576,579,582,585,588,591,594,597,600,603,606,609],{"tag":457,"callback":208,"file":209,"line":458},"complete_button",241,{"tag":460,"callback":208,"file":209,"line":461},"wpc_complete_button",242,{"tag":463,"callback":208,"file":209,"line":464},"wpc_button",243,{"tag":466,"callback":208,"file":209,"line":467},"wpcomplete_button",244,{"tag":469,"callback":208,"file":209,"line":470},"progress_percentage",248,{"tag":472,"callback":208,"file":209,"line":473},"progress_in_percentage",249,{"tag":475,"callback":208,"file":209,"line":476},"progress_ratio",250,{"tag":478,"callback":208,"file":209,"line":479},"progress_in_ratio",251,{"tag":481,"callback":208,"file":209,"line":482},"progress_graph",252,{"tag":484,"callback":208,"file":209,"line":485},"progress_bar",253,{"tag":487,"callback":208,"file":209,"line":488},"wpc_progress_percentage",254,{"tag":490,"callback":208,"file":209,"line":491},"wpc_progress_in_percentage",255,{"tag":493,"callback":208,"file":209,"line":494},"wpc_progress_ratio",256,{"tag":496,"callback":208,"file":209,"line":497},"wpc_progress_in_ratio",257,{"tag":499,"callback":208,"file":209,"line":500},"wpc_progress_graph",258,{"tag":502,"callback":208,"file":209,"line":503},"wpc_progress_bar",259,{"tag":505,"callback":208,"file":209,"line":506},"wpcomplete_progress_percentage",260,{"tag":508,"callback":208,"file":209,"line":509},"wpcomplete_progress_in_percentage",261,{"tag":511,"callback":208,"file":209,"line":512},"wpcomplete_progress_ratio",262,{"tag":514,"callback":208,"file":209,"line":515},"wpcomplete_progress_in_ratio",263,{"tag":517,"callback":208,"file":209,"line":518},"wpcomplete_progress_graph",264,{"tag":520,"callback":208,"file":209,"line":521},"wpcomplete_progress_bar",265,{"tag":523,"callback":208,"file":209,"line":524},"wpc_completed_content",270,{"tag":526,"callback":208,"file":209,"line":527},"wpc_incomplete_content",271,{"tag":529,"callback":208,"file":209,"line":530},"wpcomplete_completed_content",272,{"tag":532,"callback":208,"file":209,"line":533},"wpcomplete_incomplete_content",273,{"tag":535,"callback":208,"file":209,"line":536},"wpc_if_completed",274,{"tag":538,"callback":208,"file":209,"line":539},"wpc_if_incomplete",275,{"tag":541,"callback":208,"file":209,"line":542},"wpc_if_button_completed",276,{"tag":544,"callback":208,"file":209,"line":545},"wpc_if_button_incomplete",277,{"tag":547,"callback":208,"file":209,"line":548},"wpc_if_post_completed",278,{"tag":550,"callback":208,"file":209,"line":551},"wpc_if_post_incomplete",279,{"tag":553,"callback":208,"file":209,"line":554},"wpc_if_page_completed",280,{"tag":556,"callback":208,"file":209,"line":557},"wpc_if_page_incomplete",281,{"tag":559,"callback":208,"file":209,"line":560},"wpc_if_course_completed",282,{"tag":562,"callback":208,"file":209,"line":563},"wpc_if_course_incomplete",283,{"tag":565,"callback":208,"file":209,"line":566},"wpc_peer_pressure",290,{"tag":568,"callback":208,"file":209,"line":569},"wpc_reset",293,{"tag":571,"callback":208,"file":209,"line":572},"wpc_list_completable",305,{"tag":574,"callback":208,"file":209,"line":575},"wpc_list_pages",306,{"tag":577,"callback":208,"file":209,"line":578},"wpc_next_to_complete",310,{"tag":580,"callback":208,"file":209,"line":581},"wpc_has_next_to_complete",311,{"tag":583,"callback":208,"file":209,"line":584},"wpc_has_no_next_to_complete",312,{"tag":586,"callback":208,"file":209,"line":587},"wpc_last_completed",314,{"tag":589,"callback":208,"file":209,"line":590},"wpc_has_last_completed",315,{"tag":592,"callback":208,"file":209,"line":593},"wpc_has_no_last_completed",316,{"tag":595,"callback":208,"file":209,"line":596},"wpc_next_page",318,{"tag":598,"callback":208,"file":209,"line":599},"wpc_has_next_page",319,{"tag":601,"callback":208,"file":209,"line":602},"wpc_has_no_next_page",320,{"tag":604,"callback":208,"file":209,"line":605},"wpc_previous_page",322,{"tag":607,"callback":208,"file":209,"line":608},"wpc_has_previous_page",323,{"tag":610,"callback":208,"file":209,"line":611},"wpc_has_no_previous_page",324,[],69,{"dangerousFunctions":615,"sqlUsage":616,"outputEscaping":619,"fileOperations":28,"externalRequests":707,"nonceChecks":151,"capabilityChecks":678,"bundledLibraries":919},[],{"prepared":617,"raw":28,"locations":618},13,[],{"escaped":443,"rawEcho":620,"locations":621},181,[622,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,657,659,660,662,664,665,667,669,671,673,675,677,679,680,682,684,685,686,688,689,690,691,693,695,696,697,699,701,704,706,708,710,711,713,714,715,717,719,720,721,723,725,726,727,729,731,733,734,735,736,738,740,741,742,743,745,746,747,748,750,752,754,756,757,758,759,760,761,763,764,765,766,768,769,772,774,776,778,780,781,782,783,785,786,788,789,790,791,792,793,794,796,797,798,799,800,801,803,804,805,806,807,808,809,810,812,814,815,817,818,819,821,823,825,826,827,828,829,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,893,895,896,898,900,902,904,905,907,909,911,913,914,916,917],{"file":623,"line":624,"context":625},"admin\\class-wpcomplete-admin.php",945,"raw output",{"file":623,"line":627,"context":625},947,{"file":623,"line":629,"context":625},1227,{"file":623,"line":631,"context":625},1230,{"file":623,"line":633,"context":625},1332,{"file":623,"line":635,"context":625},1336,{"file":623,"line":637,"context":625},1338,{"file":623,"line":639,"context":625},1408,{"file":623,"line":641,"context":625},1410,{"file":623,"line":643,"context":625},1641,{"file":623,"line":645,"context":625},1880,{"file":623,"line":647,"context":625},2153,{"file":623,"line":649,"context":625},2199,{"file":623,"line":651,"context":625},2241,{"file":623,"line":653,"context":625},2393,{"file":655,"line":46,"context":625},"admin\\partials\\wpcomplete-admin-button-completion.php",{"file":655,"line":170,"context":625},{"file":655,"line":658,"context":625},15,{"file":655,"line":658,"context":625},{"file":655,"line":661,"context":625},34,{"file":655,"line":663,"context":625},35,{"file":655,"line":663,"context":625},{"file":655,"line":666,"context":625},38,{"file":655,"line":668,"context":625},40,{"file":655,"line":670,"context":625},48,{"file":655,"line":672,"context":625},50,{"file":674,"line":61,"context":625},"admin\\partials\\wpcomplete-admin-courses.php",{"file":674,"line":676,"context":625},14,{"file":674,"line":678,"context":625},16,{"file":674,"line":90,"context":625},{"file":674,"line":681,"context":625},28,{"file":674,"line":683,"context":625},36,{"file":674,"line":666,"context":625},{"file":674,"line":666,"context":625},{"file":674,"line":687,"context":625},42,{"file":674,"line":670,"context":625},{"file":674,"line":670,"context":625},{"file":674,"line":670,"context":625},{"file":674,"line":692,"context":625},54,{"file":674,"line":694,"context":625},60,{"file":674,"line":694,"context":625},{"file":674,"line":694,"context":625},{"file":674,"line":698,"context":625},68,{"file":674,"line":700,"context":625},79,{"file":702,"line":703,"context":625},"admin\\partials\\wpcomplete-admin-devmode-notice.php",3,{"file":705,"line":703,"context":625},"admin\\partials\\wpcomplete-admin-license-notice.php",{"file":705,"line":707,"context":625},7,{"file":709,"line":27,"context":625},"admin\\partials\\wpcomplete-admin-metabox.php",{"file":709,"line":345,"context":625},{"file":709,"line":712,"context":625},12,{"file":709,"line":130,"context":625},{"file":709,"line":107,"context":625},{"file":709,"line":716,"context":625},27,{"file":709,"line":718,"context":625},31,{"file":709,"line":718,"context":625},{"file":709,"line":661,"context":625},{"file":709,"line":722,"context":625},37,{"file":709,"line":724,"context":625},41,{"file":709,"line":687,"context":625},{"file":709,"line":687,"context":625},{"file":709,"line":728,"context":625},51,{"file":709,"line":730,"context":625},52,{"file":709,"line":732,"context":625},53,{"file":709,"line":692,"context":625},{"file":709,"line":698,"context":625},{"file":709,"line":698,"context":625},{"file":709,"line":737,"context":625},73,{"file":739,"line":46,"context":625},"admin\\partials\\wpcomplete-admin-post-completion.php",{"file":739,"line":345,"context":625},{"file":739,"line":676,"context":625},{"file":739,"line":676,"context":625},{"file":739,"line":744,"context":625},33,{"file":739,"line":661,"context":625},{"file":739,"line":661,"context":625},{"file":739,"line":722,"context":625},{"file":739,"line":749,"context":625},39,{"file":739,"line":751,"context":625},47,{"file":739,"line":753,"context":625},49,{"file":755,"line":703,"context":625},"admin\\partials\\wpcomplete-admin-quickedit.php",{"file":755,"line":707,"context":625},{"file":755,"line":712,"context":625},{"file":755,"line":676,"context":625},{"file":755,"line":678,"context":625},{"file":755,"line":678,"context":625},{"file":762,"line":73,"context":625},"admin\\partials\\wpcomplete-admin-settings-auto-append.php",{"file":762,"line":170,"context":625},{"file":762,"line":170,"context":625},{"file":762,"line":712,"context":625},{"file":767,"line":73,"context":625},"admin\\partials\\wpcomplete-admin-settings-checkbox.php",{"file":767,"line":712,"context":625},{"file":770,"line":771,"context":625},"admin\\partials\\wpcomplete-admin-settings-input.php",2,{"file":773,"line":46,"context":625},"admin\\partials\\wpcomplete-admin-settings-post-type.php",{"file":775,"line":771,"context":625},"admin\\partials\\wpcomplete-admin-settings-textarea.php",{"file":777,"line":27,"context":625},"admin\\partials\\wpcomplete-admin-settings-theme.php",{"file":779,"line":73,"context":625},"admin\\partials\\wpcomplete-admin-settings-widget.php",{"file":779,"line":170,"context":625},{"file":779,"line":170,"context":625},{"file":779,"line":712,"context":625},{"file":784,"line":771,"context":625},"admin\\partials\\wpcomplete-admin-settings-zapier.php",{"file":784,"line":61,"context":625},{"file":787,"line":771,"context":625},"admin\\partials\\wpcomplete-admin-user-completion-column.php",{"file":787,"line":61,"context":625},{"file":787,"line":61,"context":625},{"file":787,"line":46,"context":625},{"file":787,"line":46,"context":625},{"file":787,"line":46,"context":625},{"file":787,"line":707,"context":625},{"file":795,"line":61,"context":625},"admin\\partials\\wpcomplete-admin-user-completion.php",{"file":795,"line":707,"context":625},{"file":795,"line":73,"context":625},{"file":795,"line":73,"context":625},{"file":795,"line":170,"context":625},{"file":795,"line":130,"context":625},{"file":795,"line":802,"context":625},21,{"file":795,"line":107,"context":625},{"file":795,"line":107,"context":625},{"file":795,"line":716,"context":625},{"file":795,"line":751,"context":625},{"file":795,"line":753,"context":625},{"file":795,"line":753,"context":625},{"file":795,"line":730,"context":625},{"file":795,"line":811,"context":625},58,{"file":795,"line":813,"context":625},63,{"file":795,"line":613,"context":625},{"file":795,"line":816,"context":625},75,{"file":795,"line":93,"context":625},{"file":795,"line":700,"context":625},{"file":795,"line":820,"context":625},80,{"file":822,"line":707,"context":625},"admin\\partials\\wpcomplete-admin-widget-empty.php",{"file":824,"line":170,"context":625},"admin\\partials\\wpcomplete-admin-widget.php",{"file":824,"line":712,"context":625},{"file":824,"line":617,"context":625},{"file":824,"line":676,"context":625},{"file":824,"line":130,"context":625},{"file":830,"line":831,"context":625},"public\\class-wpcomplete-public.php",698,{"file":830,"line":833,"context":625},764,{"file":830,"line":835,"context":625},992,{"file":830,"line":837,"context":625},1014,{"file":830,"line":839,"context":625},1127,{"file":830,"line":841,"context":625},1823,{"file":830,"line":843,"context":625},1890,{"file":830,"line":845,"context":625},1896,{"file":830,"line":847,"context":625},1899,{"file":830,"line":849,"context":625},1919,{"file":830,"line":851,"context":625},1925,{"file":830,"line":853,"context":625},2009,{"file":830,"line":855,"context":625},2015,{"file":830,"line":857,"context":625},2018,{"file":830,"line":859,"context":625},2032,{"file":830,"line":861,"context":625},2038,{"file":830,"line":863,"context":625},2105,{"file":830,"line":865,"context":625},2111,{"file":830,"line":867,"context":625},2114,{"file":830,"line":869,"context":625},2128,{"file":830,"line":871,"context":625},2134,{"file":830,"line":873,"context":625},2201,{"file":830,"line":875,"context":625},2207,{"file":830,"line":877,"context":625},2210,{"file":830,"line":879,"context":625},2224,{"file":830,"line":881,"context":625},2230,{"file":830,"line":883,"context":625},2337,{"file":830,"line":885,"context":625},2577,{"file":830,"line":887,"context":625},2608,{"file":830,"line":889,"context":625},2643,{"file":891,"line":771,"context":625},"public\\partials\\wpcomplete-public-bar-graph.php",{"file":891,"line":771,"context":625},{"file":894,"line":180,"context":625},"public\\partials\\wpcomplete-public-completed-button.php",{"file":894,"line":703,"context":625},{"file":897,"line":703,"context":625},"public\\partials\\wpcomplete-public-content-button.php",{"file":899,"line":703,"context":625},"public\\partials\\wpcomplete-public-content-course.php",{"file":901,"line":703,"context":625},"public\\partials\\wpcomplete-public-content-page.php",{"file":903,"line":180,"context":625},"public\\partials\\wpcomplete-public-incomplete-button.php",{"file":903,"line":703,"context":625},{"file":906,"line":771,"context":625},"public\\partials\\wpcomplete-public-loading-bar-graph.php",{"file":908,"line":771,"context":625},"public\\partials\\wpcomplete-public-loading-radial-graph.php",{"file":910,"line":771,"context":625},"public\\partials\\wpcomplete-public-nav-link-not-found.php",{"file":912,"line":703,"context":625},"public\\partials\\wpcomplete-public-nav-link.php",{"file":912,"line":703,"context":625},{"file":915,"line":703,"context":625},"public\\partials\\wpcomplete-public-radial-graph.php",{"file":915,"line":703,"context":625},{"file":918,"line":27,"context":625},"public\\partials\\wpcomplete-public-reset-link.php",[],[921,938,948,962,974,986,1018,1027,1035,1045,1053,1061,1071],{"entryPoint":922,"graph":923,"unsanitizedCount":180,"severity":39},"nopriv_mark_completed (public\\class-wpcomplete-public.php:760)",{"nodes":924,"edges":936},[925,930],{"id":926,"type":927,"label":928,"file":830,"line":929},"n0","source","$_SERVER",761,{"id":931,"type":932,"label":933,"file":830,"line":934,"wp_function":935},"n1","sink","wp_redirect() [Open Redirect]",767,"wp_redirect",[937],{"from":926,"to":931,"sanitized":410},{"entryPoint":939,"graph":940,"unsanitizedCount":180,"severity":39},"nopriv_mark_uncompleted (public\\class-wpcomplete-public.php:1010)",{"nodes":941,"edges":946},[942,944],{"id":926,"type":927,"label":928,"file":830,"line":943},1011,{"id":931,"type":932,"label":933,"file":830,"line":945,"wp_function":935},1017,[947],{"from":926,"to":931,"sanitized":410},{"entryPoint":949,"graph":950,"unsanitizedCount":28,"severity":961},"activate_license (admin\\class-wpcomplete-admin.php:752)",{"nodes":951,"edges":959},[952,955],{"id":926,"type":927,"label":953,"file":623,"line":954},"$_POST",768,{"id":931,"type":932,"label":956,"file":623,"line":957,"wp_function":958},"update_option() [Settings Manipulation]",773,"update_option",[960],{"from":926,"to":931,"sanitized":422},"low",{"entryPoint":963,"graph":964,"unsanitizedCount":28,"severity":961},"save_completable (admin\\class-wpcomplete-admin.php:964)",{"nodes":965,"edges":972},[966,968],{"id":926,"type":927,"label":953,"file":623,"line":967},1012,{"id":931,"type":932,"label":969,"file":623,"line":970,"wp_function":971},"get_results() [SQLi]",1073,"get_results",[973],{"from":926,"to":931,"sanitized":422},{"entryPoint":975,"graph":976,"unsanitizedCount":28,"severity":961},"delete_button (admin\\class-wpcomplete-admin.php:2164)",{"nodes":977,"edges":984},[978,981],{"id":926,"type":927,"label":979,"file":623,"line":980},"$_REQUEST",2170,{"id":931,"type":932,"label":982,"file":623,"line":649,"wp_function":983},"echo() [XSS]","echo",[985],{"from":926,"to":931,"sanitized":422},{"entryPoint":987,"graph":988,"unsanitizedCount":28,"severity":961},"\u003Cclass-wpcomplete-admin> (admin\\class-wpcomplete-admin.php:0)",{"nodes":989,"edges":1012},[990,991,992,994,996,999,1001,1005,1007,1010],{"id":926,"type":927,"label":953,"file":623,"line":954},{"id":931,"type":932,"label":956,"file":623,"line":957,"wp_function":958},{"id":993,"type":927,"label":953,"file":623,"line":967},"n2",{"id":995,"type":932,"label":969,"file":623,"line":970,"wp_function":971},"n3",{"id":997,"type":927,"label":998,"file":623,"line":967},"n4","$_POST (x7)",{"id":1000,"type":932,"label":982,"file":623,"line":633,"wp_function":983},"n5",{"id":1002,"type":927,"label":1003,"file":623,"line":1004},"n6","$_GET",1822,{"id":1006,"type":932,"label":982,"file":623,"line":647,"wp_function":983},"n7",{"id":1008,"type":927,"label":1009,"file":623,"line":980},"n8","$_REQUEST (x3)",{"id":1011,"type":932,"label":982,"file":623,"line":649,"wp_function":983},"n9",[1013,1014,1015,1016,1017],{"from":926,"to":931,"sanitized":422},{"from":993,"to":995,"sanitized":422},{"from":997,"to":1000,"sanitized":422},{"from":1002,"to":1006,"sanitized":422},{"from":1008,"to":1011,"sanitized":422},{"entryPoint":1019,"graph":1020,"unsanitizedCount":180,"severity":961},"\u003Cwpcomplete-admin-button-completion> (admin\\partials\\wpcomplete-admin-button-completion.php:0)",{"nodes":1021,"edges":1025},[1022,1024],{"id":926,"type":927,"label":1023,"file":655,"line":46},"$_SERVER['REQUEST_URI']",{"id":931,"type":932,"label":982,"file":655,"line":46,"wp_function":983},[1026],{"from":926,"to":931,"sanitized":410},{"entryPoint":1028,"graph":1029,"unsanitizedCount":180,"severity":961},"\u003Cwpcomplete-admin-courses> (admin\\partials\\wpcomplete-admin-courses.php:0)",{"nodes":1030,"edges":1033},[1031,1032],{"id":926,"type":927,"label":1023,"file":674,"line":61},{"id":931,"type":932,"label":982,"file":674,"line":61,"wp_function":983},[1034],{"from":926,"to":931,"sanitized":410},{"entryPoint":1036,"graph":1037,"unsanitizedCount":28,"severity":961},"\u003Cwpcomplete-admin-display> (admin\\partials\\wpcomplete-admin-display.php:0)",{"nodes":1038,"edges":1043},[1039,1042],{"id":926,"type":927,"label":1040,"file":1041,"line":90},"$_GET['message']","admin\\partials\\wpcomplete-admin-display.php",{"id":931,"type":932,"label":982,"file":1041,"line":90,"wp_function":983},[1044],{"from":926,"to":931,"sanitized":422},{"entryPoint":1046,"graph":1047,"unsanitizedCount":180,"severity":961},"\u003Cwpcomplete-admin-post-completion> (admin\\partials\\wpcomplete-admin-post-completion.php:0)",{"nodes":1048,"edges":1051},[1049,1050],{"id":926,"type":927,"label":1023,"file":739,"line":46},{"id":931,"type":932,"label":982,"file":739,"line":46,"wp_function":983},[1052],{"from":926,"to":931,"sanitized":410},{"entryPoint":1054,"graph":1055,"unsanitizedCount":180,"severity":961},"\u003Cwpcomplete-admin-user-completion> (admin\\partials\\wpcomplete-admin-user-completion.php:0)",{"nodes":1056,"edges":1059},[1057,1058],{"id":926,"type":927,"label":1023,"file":795,"line":707},{"id":931,"type":932,"label":982,"file":795,"line":707,"wp_function":983},[1060],{"from":926,"to":931,"sanitized":410},{"entryPoint":1062,"graph":1063,"unsanitizedCount":28,"severity":961},"mark_completed (public\\class-wpcomplete-public.php:778)",{"nodes":1064,"edges":1069},[1065,1068],{"id":926,"type":927,"label":1066,"file":830,"line":1067},"$_REQUEST['redirect']",996,{"id":931,"type":932,"label":933,"file":830,"line":1067,"wp_function":935},[1070],{"from":926,"to":931,"sanitized":422},{"entryPoint":1072,"graph":1073,"unsanitizedCount":28,"severity":961},"\u003Cclass-wpcomplete-public> (public\\class-wpcomplete-public.php:0)",{"nodes":1074,"edges":1083},[1075,1077,1078,1079,1080,1082],{"id":926,"type":927,"label":1076,"file":830,"line":929},"$_SERVER (x2)",{"id":931,"type":932,"label":933,"file":830,"line":934,"wp_function":935},{"id":993,"type":927,"label":1066,"file":830,"line":1067},{"id":995,"type":932,"label":933,"file":830,"line":1067,"wp_function":935},{"id":997,"type":927,"label":953,"file":830,"line":1081},1494,{"id":1000,"type":932,"label":982,"file":830,"line":883,"wp_function":983},[1084,1085,1086],{"from":926,"to":931,"sanitized":422},{"from":993,"to":995,"sanitized":422},{"from":997,"to":1000,"sanitized":422},{"summary":1088,"deductions":1089},"The wpcomplete v2.9.5.4 plugin exhibits a mixed security posture.  While it demonstrates strong practices in SQL query handling and avoids dangerous functions and file operations, several areas present significant concerns. The static analysis highlights 17 unprotected AJAX handlers, which represent a substantial attack surface that could be exploited without proper authentication.  Additionally, the taint analysis indicates 6 flows with unsanitized paths, though thankfully none reached critical or high severity in this analysis. The plugin's vulnerability history is a notable weakness, with 4 known medium severity CVEs, primarily related to missing authorization and Cross-Site Scripting. The fact that the last vulnerability was so recent (2025-10-24) suggests a recurring pattern of security issues that, while currently patched, points to potential systemic weaknesses in input validation and authorization enforcement.  Overall, the plugin has strengths in its code execution and data handling but requires attention to its exposed AJAX endpoints and the historical pattern of security flaws.",[1090,1092,1094,1096],{"reason":1091,"points":345},"17 unprotected AJAX handlers",{"reason":1093,"points":61},"6 flows with unsanitized paths",{"reason":1095,"points":712},"4 medium severity CVEs in history",{"reason":1097,"points":61},"57% output properly escaped","2026-03-16T18:59:37.893Z",{"wat":1100,"direct":1109},{"assetPaths":1101,"generatorPatterns":1104,"scriptPaths":1105,"versionParams":1106},[1102,1103],"\u002Fwp-content\u002Fplugins\u002Fwpcomplete\u002Fcss\u002Fwpcomplete-admin.css","\u002Fwp-content\u002Fplugins\u002Fwpcomplete\u002Fjs\u002Fwpcomplete-admin.js",[],[1103],[1107,1108],"wpcomplete\u002Fcss\u002Fwpcomplete-admin.css?ver=","wpcomplete\u002Fjs\u002Fwpcomplete-admin.js?ver=",{"cssClasses":1110,"htmlComments":1112,"htmlAttributes":1114,"restEndpoints":1116,"jsGlobals":1117,"shortcodeOutput":1119},[1111],"wpcomplete-course-statistics",[1113],"\u003C!-- WPComplete Course Statistics -->",[1115],"data-wpcomplete-id",[],[1118],"WPCOMPLETE_PRODUCT_NAME",[]]