[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fykdncvvPHbx-dtWq4-93-zdYc8fC8zq-9v3T2Y3K8wo":3,"$fvG8gd99JkbU420CVuxzKvVHDqBJg_RPKEx7e-wfisuM":1047,"$fnxfa-GgP0ONlOnoUC3LmioK7Bgq1cA_HSP9r-XYhtP4":1051},{"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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"discovery_status":32,"vulnerabilities":33,"developer":52,"crawl_stats":39,"alternatives":56,"analysis":149,"fingerprints":1012},"simple-form","Form Builder, Quiz, Survey and Form Analytics with Leads Redirection System – SimpleForm","3.9.0","wpazleen","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpazleen\u002F","\u003Cp>\u003Cstrong>Simple Form\u003C\u002Fstrong> is a modern and flexible \u003Cstrong>WordPress Form Builder Plugin\u003C\u002Fstrong> that allows you to easily create\u003Cbr \u002F>\n📩 \u003Cstrong>Contact Forms\u003C\u002Fstrong>,\u003Cbr \u002F>\n📝 \u003Cstrong>Quizzes, Polls & Surveys\u003C\u002Fstrong>,\u003Cbr \u002F>\n🔐 \u003Cstrong>Login & Registration Forms\u003C\u002Fstrong>,\u003Cbr \u002F>\n💬 \u003Cstrong>Comment Forms\u003C\u002Fstrong> – all in just a few clicks!\u003C\u002Fp>\n\u003Cp>With its \u003Cstrong>drag-and-drop interface\u003C\u002Fstrong>, you can build attractive and professional forms, quizzes, and online exams without writing a single line of code.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FnldZZcesgU8?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>🚀 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpazleen.com\u002Fsimple-form\u002F\" rel=\"nofollow ugc\">Simple Form\u003C\u002Fa>\u003C\u002Fstrong> | 📖 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpazleen.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fstrong> | 💬 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwpazleen.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">Pro Support\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Let’s grow, connect, and build together! 🚀\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>🤝 \u003Cstrong>Join our community on Facebook:\u003C\u002Fstrong>  \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fwpazleens\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>🎥 \u003Cstrong>Subscribe to our YouTube channel:\u003C\u002Fstrong>  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCqR5SPvn6N2ZBq7AyYKfEnA\" rel=\"nofollow ugc\">YouTube\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>🐦 \u003Cstrong>Follow us on X (Twitter):\u003C\u002Fstrong>  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fwpazleen\" rel=\"nofollow ugc\">X \u002F Twitter\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🌟 Why Choose Simple Form?\u003C\u002Fh3>\n\u003Cp>✅ \u003Cstrong>Quiz & Survey Maker\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate quizzes, surveys, and online exams quickly using simple steps — perfect for educational institutions, businesses, and lead generation.\u003C\u002Fp>\n\u003Cp>✅ \u003Cstrong>Conditional Logic & Multi-Step Forms\u003C\u002Fstrong>\u003Cbr \u002F>\nAutomatically change form questions and steps based on user input for a smarter user experience.\u003C\u002Fp>\n\u003Cp>✅ \u003Cstrong>Analytics & Lead Management\u003C\u002Fstrong>\u003Cbr \u002F>\nTrack responses, analyze data, and manage leads from one central dashboard.\u003C\u002Fp>\n\u003Cp>✅ \u003Cstrong>Smart Notification & Redirection System\u003C\u002Fstrong>\u003Cbr \u002F>\nSend instant notifications when specific events occur on your website via\u003Cbr \u002F>\n📢 \u003Cstrong>Slack\u003C\u002Fstrong>,\u003Cbr \u002F>\n✉️ \u003Cstrong>Mail\u003C\u002Fstrong>,\u003Cbr \u002F>\n📱 \u003Cstrong>WhatsApp\u003C\u002Fstrong>,\u003Cbr \u002F>\n✈️ \u003Cstrong>Telegram\u003C\u002Fstrong>\u003Cbr \u002F>\n— to channels, groups, or individual users.\u003C\u002Fp>\n\u003Cp>✅ \u003Cstrong>Powerful Integrations\u003C\u002Fstrong>\u003Cbr \u002F>\nEasily connect with other tools and services to make your workflow more efficient and automated.\u003C\u002Fp>\n\u003Cp>Form creation, quiz and survey management, user interaction, automated notifications, and data analytics — everything you need in one powerful plugin: \u003Cstrong>Simple Form\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>👉 Make your WordPress website smarter, more interactive, and conversion-focused with \u003Cstrong>Simple Form\u003C\u002Fstrong> today.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Simple Form\u003C\u002Fstrong> includes comprehensive tools for creating and managing:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>📩 \u003Cstrong>Contact Forms\u003C\u002Fstrong> for communication, inquiries, and feedback  \u003C\u002Fli>\n\u003Cli>🧠 \u003Cstrong>Quiz Builder\u003C\u002Fstrong> with scoring, images, and detailed result options  \u003C\u002Fli>\n\u003Cli>📊 \u003Cstrong>Poll Creator\u003C\u002Fstrong> with real-time results and analytics  \u003C\u002Fli>\n\u003Cli>🔐 \u003Cstrong>Login & Registration Forms\u003C\u002Fstrong> for WordPress and WooCommerce  \u003C\u002Fli>\n\u003Cli>💬 \u003Cstrong>Comment Form Customization\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>🧩 \u003Cstrong>Multi-Step Forms\u003C\u002Fstrong> for improved user experience  \u003C\u002Fli>\n\u003Cli>🔀 \u003Cstrong>Conditional Logic\u003C\u002Fstrong> based on user input  \u003C\u002Fli>\n\u003Cli>📈 \u003Cstrong>Form Analytics & Tracking\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>🔗 \u003Cstrong>Integrations\u003C\u002Fstrong> with Mailchimp, Google Sheets, Trello, WhatsApp, Telegram, and Slack  \u003C\u002Fli>\n\u003Cli>🧲 \u003Cstrong>Lead Management System\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>🎨 \u003Cstrong>Built-in Themes & Custom Theme Options\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>📌 \u003Cstrong>Floating Form Placements\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Quiz Builder\u003C\u002Fh3>\n\u003Cp>Create engaging quizzes with advanced configuration options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Multiple question types  \u003C\u002Fli>\n\u003Cli>Scoring and pass\u002Ffail rules  \u003C\u002Fli>\n\u003Cli>Question and answer randomization  \u003C\u002Fli>\n\u003Cli>Image-based questions and answers  \u003C\u002Fli>\n\u003Cli>Time limits for quizzes  \u003C\u002Fli>\n\u003Cli>Detailed analytics and result summaries  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Shortcode:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [simple_quiz id=”1″]\u003C\u002Fp>\n\u003Cp>Perfect for online exams, education platforms, assessments, and lead engagement.\u003C\u002Fp>\n\u003Ch3>Poll Creator\u003C\u002Fh3>\n\u003Cp>Create interactive polls with flexible display and control options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Single or multiple-choice polls  \u003C\u002Fli>\n\u003Cli>Image-based answers  \u003C\u002Fli>\n\u003Cli>Result visibility control  \u003C\u002Fli>\n\u003Cli>Poll closing dates  \u003C\u002Fli>\n\u003Cli>Login-required voting  \u003C\u002Fli>\n\u003Cli>Revote control  \u003C\u002Fli>\n\u003Cli>Dedicated analytics dashboard  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Shortcode:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [simple_poll id=”1″]\u003C\u002Fp>\n\u003Cp>Ideal for surveys, community engagement, and real-time audience feedback.\u003C\u002Fp>\n\u003Ch3>Authentication Forms\u003C\u002Fh3>\n\u003Cp>Replace default WordPress authentication forms with fully customizable versions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Custom login form  \u003C\u002Fli>\n\u003Cli>Custom registration form  \u003C\u002Fli>\n\u003Cli>Additional custom fields  \u003C\u002Fli>\n\u003Cli>Redirect rules after login\u002Fregistration  \u003C\u002Fli>\n\u003Cli>Email verification support  \u003C\u002Fli>\n\u003Cli>Comment form customization  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All authentication options can be configured under:\u003Cbr \u002F>\n\u003Cstrong>Settings > Auth Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Form Themes & Design\u003C\u002Fh3>\n\u003Cp>Choose from multiple built-in themes or design your own custom look. Available styles include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Modern  \u003C\u002Fli>\n\u003Cli>Minimalist  \u003C\u002Fli>\n\u003Cli>Neomorphic  \u003C\u002Fli>\n\u003Cli>Glassmorphism  \u003C\u002Fli>\n\u003Cli>And more  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Create visually stunning forms that perfectly match your website’s branding.\u003C\u002Fp>\n\u003Ch3>Integrations\u003C\u002Fh3>\n\u003Ch4>Email Notifications\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Send structured form notifications  \u003C\u002Fli>\n\u003Cli>Support multiple recipients  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Mailchimp\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically add subscribers  \u003C\u002Fli>\n\u003Cli>Custom field mapping  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Google Sheets\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Sync form submissions in real time  \u003C\u002Fli>\n\u003Cli>Custom column mapping  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Trello\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically create cards from submissions  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WhatsApp\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Redirect users with pre-filled messages  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Telegram\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Send submissions to channels or groups  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Slack\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Receive real-time notifications instantly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Form Analytics & Tracking\u003C\u002Fh3>\n\u003Cp>Gain valuable insights with detailed analytics, including:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Total views and submissions  \u003C\u002Fli>\n\u003Cli>Success and error logs  \u003C\u002Fli>\n\u003Cli>Redirect paths  \u003C\u002Fli>\n\u003Cli>Time-based performance tracking  \u003C\u002Fli>\n\u003Cli>Conversion metrics\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Lead Management\u003C\u002Fh3>\n\u003Cp>Manage and organize leads efficiently with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Date filtering (today, yesterday, last week, last month, custom range)  \u003C\u002Fli>\n\u003Cli>Search and sorting options  \u003C\u002Fli>\n\u003Cli>Export data as CSV, JSON, PDF, or print  \u003C\u002Fli>\n\u003Cli>Single or bulk deletion  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Say goodbye to form building frustrations and hello to Simple Form form builder. Create, collect, and conquer with the ultimate form-building solution. Download now and see for yourself why “Simple Form” is the preferred choice for savvy website owners like you. Simplify, collect, and thrive with SimpleForm.\u003Cbr \u002F>\nGet started with Simple Form today and transform your website’s form experience!\u003C\u002Fp>\n\u003Ch3>🔥 More Awesome Plugins\u003C\u002Fh3>\n\u003Cp>If you enjoy SimpleForm, you ought to take a look at our other great projects:\u003Cbr \u002F>\n🤖 \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fnotifier-to-slack\u002F\" rel=\"ugc\">Activity Guard – Real-Time System & User Activity Logs, Forum Tracker and Security Plugin\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>Activity Guard\u003C\u002Fstrong> is the Ultimate WordPress activity log plugin for tracking user actions, monitoring WooCommerce events, and securing your site in real-time. With instant notifications via Slack and email, it empowers admins to respond quickly to critical events and ensure site security.\u003C\u002Fp>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Cp>After activating the plugin navigate to your Admin Dashboard > SimpleForm > Form and from there build your required form using drag and drop. Next save it with any form name.\u003Cbr \u002F>\nYou will then automatically be redirected to the “Data” page, from there you can edit your form or create a form on any of your pages or posts using the shortcode.\u003C\u002Fp>\n","Create stunning contact forms, quizzes, polls, login and registration forms in seconds with advanced integrations, analytics, and form redirection.",10,5976,100,3,"2026-03-02T11:54:00.000Z","6.9.4","5.0","5.6",[20,21,22,23,24],"google-sheets","poll-creator","quizzes","telegram","whatsapp-chat","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-form\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.9.0.zip",99,1,0,"2024-07-09 00:00:00","2026-04-16T10:56:18.058Z","no_bundle",[34],{"id":35,"url_slug":36,"title":37,"description":38,"plugin_slug":4,"theme_slug":39,"affected_versions":40,"patched_in_version":41,"severity":42,"cvss_score":43,"cvss_vector":44,"vuln_type":45,"published_date":30,"updated_date":46,"references":47,"days_to_patch":49,"patch_diff_files":50,"patch_trac_url":39,"research_status":39,"research_verified":51,"research_rounds_completed":29,"research_plan":39,"research_summary":39,"research_vulnerable_code":39,"research_fix_diff":39,"research_exploit_outline":39,"research_model_used":39,"research_started_at":39,"research_completed_at":39,"research_error":39,"poc_status":39,"poc_video_id":39,"poc_summary":39,"poc_steps":39,"poc_tested_at":39,"poc_wp_version":39,"poc_php_version":39,"poc_playwright_script":39,"poc_exploit_code":39,"poc_has_trace":51,"poc_model_used":39,"poc_verification_depth":39},"CVE-2024-3113","formflow-authenticated-administrator-stored-cross-site-scripting","FormFlow \u003C= 2.12.1 - Authenticated (Administrator+) Stored Cross-Site Scripting","The FormFlow: WhatsApp & Social Form Builder for Leads plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in all versions up to, and including, 2.12.1 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with administrator-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.",null,"\u003C=2.12.1","2.12.2","medium",4.4,"CVSS:3.1\u002FAV:N\u002FAC:H\u002FPR:H\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-07-15 13:38:39",[48],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F26decafa-2329-406a-a48b-f4e6867f60df?source=api-prod",7,[],false,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":53,"total_installs":54,"avg_security_score":13,"avg_patch_time_days":49,"trust_score":13,"computed_at":55},6,800,"2026-05-20T08:57:46.250Z",[57,77,93,111,131],{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":13,"num_ratings":28,"last_updated":67,"tested_up_to":16,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":74,"download_link":75,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":76,"fetched_at":31},"amin-chat-button","Pulsating Chat Button","1.5.8","aminshah74","https:\u002F\u002Fprofiles.wordpress.org\u002Faminshah74\u002F","\u003Cp>WhatsApp or Telegram Chat. Let’s make your Web page visitors contact you through “WhatsApp”, “WhatsApp Business” or “Telegram” with a single click (WhatsApp Chat, Group, Share). Adds a pulsating WhatsApp or Telegram button to your website. Fast and easy installation. Setting up target id Google Tag and YandexMetrics. Setting pre-filled Message.\u003C\u002Fp>\n\u003Ch3>WhatsApp Chat\u003C\u002Fh3>\n\u003Cp>Add ‘WhatsApp’, ‘WhatsApp Business’ or Telegram Number and let your website visitors contact you with a single click.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Mobile:\u003C\u002Fstrong>  Navigate to WhatsApp Mobile App.\u003Cbr \u002F>\n\u003Cstrong>Desktop:\u003C\u002Fstrong> Navigate to the WhatsApp Desktop App or Web WhatsApp page (web.whatsapp.com)\u003C\u002Fp>\n\u003Ch3>Plugin Features:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Quick and effortless installation of a pulsating WhatsApp or Telegram button on your website.\u003C\u002Fli>\n\u003Cli>Integration of Google Analytics and Yandex.Metrica goal tracking for the button.\u003C\u002Fli>\n\u003Cli>Custom CSS support for easy customization and seamless integration with your website’s design.\u003C\u002Fli>\n\u003Cli>Enhance communication with your website visitors, providing them with a convenient way to reach out to you.\u003C\u002Fli>\n\u003Cli>Improve customer engagement and satisfaction by enabling instant messaging and quick response times.\u003C\u002Fli>\n\u003Cli>Increase conversion rates and drive more sales by offering a direct and efficient communication channel.\u003C\u002Fli>\n\u003Cli>Flexible positioning options to place the button in the desired location on your website.\u003C\u002Fli>\n\u003Cli>Compatible with various website platforms and responsive design for optimal user experience across devices.\u003C\u002Fli>\n\u003Cli>User-friendly interface and intuitive settings for easy configuration and management of the plugin.\u003C\u002Fli>\n\u003Cli>Regular updates and reliable support to ensure the plugin remains functional and up-to-date with the latest advancements.\u003C\u002Fli>\n\u003Cli>Multilingualism in the first text message for Whatsapp in accordance with the localization of the site language.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Experience the benefits of this plugin and enhance your website’s communication capabilities with the pulsating WhatsApp or Telegram button.\u003C\u002Fp>\n","WhatsApp or Telegram Chat🔥. Adds a pulsating WhatsApp or Telegram button 🍀 to your website. Fast and easy installation. Setting up target id GTM and Y &hellip;",2000,12916,"2025-12-24T15:40:00.000Z","3.0","7.0",[23,71,72,73,24],"telegram-chat","whatsapp","whatsapp-business","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Famin-chat-button.1.5.8.zip","2024-12-03 14:18:53",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":11,"downloaded":85,"rating":29,"num_ratings":29,"last_updated":86,"tested_up_to":16,"requires_at_least":87,"requires_php":18,"tags":88,"homepage":91,"download_link":92,"security_score":13,"vuln_count":29,"unpatched_count":29,"last_vuln_date":39,"fetched_at":31},"chat-everywhere","Chat Everywhere","1.2.6","codingfix","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodingfix\u002F","\u003Cp>Chat Everywhere allows you to make any element in your website be able to open a WhatsApp or a Telegram chat just adding a class to it. Using Chat Everywhere you’ll be able to build a rich contact page adding two popular chat apps to your contact options.\u003C\u002Fp>\n\u003Cp>There are already a few of great plugins which allows you to put a floating button in your website to allow your visitors to contact you through WhatsApp or Telegram and they offers a lot of customization, but sometimes it happened to me to find useful to use a simple, normal button to open a chat or a menu item or even a normal textual link. So I decided to develop this really simple but useful (to me) plugin and to share it with the WordPress community, hoping it could help someone else 🙂\u003C\u002Fp>\n\u003Cp>In the settings page you can:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>- optionally choose a class name which will be used by the plugin to open a chat handling the onclick event. For Whatsapp the default name of this class will be whatsapp_everywhere, for Telegram... telegram_everywhere :)\n- For WhatsApp you'll have to set the phone number, for Telegram you'll have to specify the Telegram username\n- For WhatsApp you can optionally set a short text your website's visitors will can use to start the chat (by default it is empty)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The last thing you have to do is to add the chosen class to any element you want open a chat: it could be a menu item, a button, a textual link, an image, anything… The way you have to do this depends on the way you build your pages\u003C\u002Fp>\n\u003Cp>That’s all. Have a good chat!\u003C\u002Fp>\n","Open a WhatsApp or a Telegram chat just adding a class to any html element!",3869,"2026-01-02T15:42:00.000Z","4.0.1",[89,23,71,90],"chat","whatsapp-whatsapp-chat","https:\u002F\u002Fcodingfix.com\u002Fchat-everywhere","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fchat-everywhere.1.2.6.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":29,"downloaded":101,"rating":29,"num_ratings":29,"last_updated":102,"tested_up_to":16,"requires_at_least":17,"requires_php":103,"tags":104,"homepage":108,"download_link":109,"security_score":13,"vuln_count":29,"unpatched_count":29,"last_vuln_date":39,"fetched_at":110},"mksddn-forms-handler","MksDdn Forms Handler","2.4.0","Max","https:\u002F\u002Fprofiles.wordpress.org\u002Fmksddn\u002F","\u003Cp>MksDdn Forms Handler is a powerful and flexible form processing plugin that allows you to create and manage forms with multiple delivery methods. Perfect for websites that need reliable form handling with modern integrations.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Multiple Delivery Methods\u003C\u002Fstrong>: Send form submissions via email, Telegram, Google Sheets, or store in WordPress admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API Support\u003C\u002Fstrong>: Submit forms via AJAX or REST API endpoints\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Telegram Integration\u003C\u002Fstrong>: Instant notifications to Telegram channels\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google Sheets Integration\u003C\u002Fstrong>: Automatically save submissions to Google Sheets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Types\u003C\u002Fstrong>: Dedicated forms and submissions management\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Security First\u003C\u002Fstrong>: Built-in validation, sanitization, and security measures\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong>: Clean code structure with proper namespacing\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Contact forms with multiple delivery options\u003C\u002Fli>\n\u003Cli>Lead generation forms with instant notifications\u003C\u002Fli>\n\u003Cli>Data collection forms with Google Sheets backup\u003C\u002Fli>\n\u003Cli>Custom forms with REST API integration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Technical Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0+ compatible (tested up to 6.9)\u003C\u002Fli>\n\u003Cli>PHP 8.0+ required\u003C\u002Fli>\n\u003Cli>GPL v2+ licensed\u003C\u002Fli>\n\u003Cli>Clean, maintainable code\u003C\u002Fli>\n\u003Cli>Proper error handling\u003C\u002Fli>\n\u003Cli>Comprehensive logging\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>For Developers\u003C\u002Fh3>\n\u003Ch4>Architecture\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Component-based structure\u003C\u002Fstrong> following SOLID principles with clear separation of concerns:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Core Components (includes\u002F)\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>PostTypes\u003C\u002Fcode> – custom post types registration (\u003Ccode>mksddn_fh_forms\u003C\u002Fcode>, \u003Ccode>mksddn_fh_submits\u003C\u002Fcode>)\u003Cbr \u002F>\n* \u003Ccode>MetaBoxes\u003C\u002Fcode> – form settings and submission data management\u003Cbr \u002F>\n* \u003Ccode>FormsHandler\u003C\u002Fcode> – main processing logic with REST API support\u003Cbr \u002F>\n* \u003Ccode>Shortcodes\u003C\u002Fcode> – form rendering with AJAX functionality\u003Cbr \u002F>\n* \u003Ccode>AdminColumns\u003C\u002Fcode> – admin interface customization\u003Cbr \u002F>\n* \u003Ccode>ExportHandler\u003C\u002Fcode> – CSV export with filtering\u003Cbr \u002F>\n* \u003Ccode>Security\u003C\u002Fcode> – rate limiting and security checks\u003Cbr \u002F>\n* \u003Ccode>Utilities\u003C\u002Fcode> – helper functions and form creation utilities\u003Cbr \u002F>\n* \u003Ccode>GoogleSheetsAdmin\u003C\u002Fcode> – Google Sheets settings page and OAuth\u003Cbr \u002F>\n* \u003Ccode>Assets\u003C\u002Fcode> – asset registration and conditional enqueuing\u003Cbr \u002F>\n* \u003Ccode>Template Functions\u003C\u002Fcode> – global functions for PHP template integration\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Handlers (handlers\u002F)\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>TelegramHandler\u003C\u002Fcode> – Telegram Bot API integration\u003Cbr \u002F>\n* \u003Ccode>GoogleSheetsHandler\u003C\u002Fcode> – Google Sheets API integration\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Assets (assets\u002F)\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>css\u002F\u003C\u002Fcode> – Admin and frontend styles\u003Cbr \u002F>\n* \u003Ccode>js\u002F\u003C\u002Fcode> – Admin and form scripts\u003Cbr \u002F>\n* \u003Ccode>images\u002F\u003C\u002Fcode> – Plugin images\u003C\u002Fp>\n\u003Ch4>Technology Stack\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0+ – core platform\u003C\u002Fli>\n\u003Cli>PHP 8.0+ – server-side logic\u003C\u002Fli>\n\u003Cli>jQuery – client-side form handling\u003C\u002Fli>\n\u003Cli>REST API – form submission API\u003C\u002Fli>\n\u003Cli>Google Sheets API – spreadsheet integration\u003C\u002Fli>\n\u003Cli>Telegram Bot API – notifications\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>File Structure\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>mksddn-forms-handler\u002F\n├── mksddn-forms-handler.php     # Main plugin file\n├── includes\u002F                     # Core components\n│   ├── class-post-types.php\n│   ├── class-meta-boxes.php\n│   ├── class-forms-handler.php\n│   ├── class-shortcodes.php\n│   ├── class-admin-columns.php\n│   ├── class-export-handler.php\n│   ├── class-security.php\n│   ├── class-utilities.php\n│   ├── class-google-sheets-admin.php\n│   ├── class-assets.php\n│   └── template-functions.php\n├── handlers\u002F                     # External service handlers\n│   ├── class-telegram-handler.php\n│   └── class-google-sheets-handler.php\n├── templates\u002F                    # Template files\n│   ├── form-settings-meta-box.php\n│   └── custom-form-examples.php\n├── assets\u002F                       # Static resources\n│   ├── css\u002F\n│   ├── js\u002F\n│   └── images\u002F\n├── languages\u002F                    # Translations\n└── uninstall.php                # Cleanup script\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Integration Methods\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>1. Shortcode (Standard)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[mksddn_fh_form slug=\"contact-form\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Plugin automatically generates HTML form based on configuration.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. PHP Templates (Custom Forms)\u003C\u002Fstrong>\u003Cbr \u002F>\nIntegrate pre-built forms in theme templates:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cform method=\"post\" action=\"\u003C?php echo mksddn_fh_get_form_action(); ?>\">\n    \u003C?php mksddn_fh_form_fields('contact-form'); ?>\n    \u003C!-- Your custom fields -->\n    \u003Cinput type=\"text\" name=\"name\" required>\n    \u003Cinput type=\"email\" name=\"email\" required>\n    \u003Cbutton type=\"submit\">Send\u003C\u002Fbutton>\n\u003C\u002Fform>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Available Functions:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>mksddn_fh_get_form_action()\u003C\u002Fcode> – get form action URL\u003Cbr \u002F>\n* \u003Ccode>mksddn_fh_form_fields($slug)\u003C\u002Fcode> – output hidden fields (nonce, form_id, honeypot)\u003Cbr \u002F>\n* \u003Ccode>mksddn_fh_get_form_config($slug)\u003C\u002Fcode> – get form configuration\u003Cbr \u002F>\n* \u003Ccode>mksddn_fh_get_rest_endpoint($slug)\u003C\u002Fcode> – get REST API endpoint for AJAX\u003Cbr \u002F>\n* \u003Ccode>mksddn_fh_form_has_files($slug)\u003C\u002Fcode> – check for file fields\u003Cbr \u002F>\n* \u003Ccode>mksddn_fh_enqueue_form_script()\u003C\u002Fcode> – enqueue AJAX script\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Accept Any Fields (Advanced):\u003C\u002Fstrong>\u003Cbr \u002F>\nFor custom forms where you control field names in templates, enable “Accept any fields from frontend” in form settings to skip field validation. This allows submitting ANY field names without defining them in Fields Configuration. All fields are still sanitized but type validation is skipped.\u003C\u002Fp>\n\u003Cp>See \u003Ccode>\u002Ftemplates\u002Fcustom-form-examples.php\u003C\u002Fcode> for detailed examples.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. REST API (AJAX)\u003C\u002Fstrong>\u003Cbr \u002F>\nSubmit forms via REST API without page reload:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>fetch('\u003C?php echo mksddn_fh_get_rest_endpoint(\"contact-form\"); ?>', {\n    method: 'POST',\n    headers: { 'Content-Type': 'application\u002Fjson' },\n    body: JSON.stringify(formData)\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Development Standards\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Coding\u003C\u002Fstrong>\u003Cbr \u002F>\n* WordPress Coding Standards compliance\u003Cbr \u002F>\n* SOLID principles\u003Cbr \u002F>\n* DRY (Don’t Repeat Yourself)\u003Cbr \u002F>\n* KISS (Keep It Simple)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Security\u003C\u002Fstrong>\u003Cbr \u002F>\n* Input validation for all data\u003Cbr \u002F>\n* Output sanitization\u003Cbr \u002F>\n* Nonce verification (CSRF protection)\u003Cbr \u002F>\n* Capability checks\u003Cbr \u002F>\n* Rate limiting (1 request per 10 seconds per IP per form)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Performance\u003C\u002Fstrong>\u003Cbr \u002F>\n* Minimal database queries\u003Cbr \u002F>\n* Data caching\u003Cbr \u002F>\n* Lazy loading of resources\u003Cbr \u002F>\n* Conditional script enqueuing\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Compatibility\u003C\u002Fstrong>\u003Cbr \u002F>\n* WordPress 5.0+ minimum\u003Cbr \u002F>\n* PHP 8.0+ minimum\u003Cbr \u002F>\n* Multisite support\u003Cbr \u002F>\n* RTL support\u003Cbr \u002F>\n* Accessibility standards (WCAG)\u003C\u002Fp>\n\u003Ch4>WordPress Hooks & Filters\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Filters:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>mksddn_fh_allowed_fields - Modify allowed field names for a form\n\nadd_filter('mksddn_fh_allowed_fields', function($allowed_fields, $form_id, $form_slug) {\n    \u002F\u002F Allow all fields for specific form\n    if ($form_slug === 'my-custom-form') {\n        return ['*'];\n    }\n    \u002F\u002F Add specific fields\n    return array_merge($allowed_fields, ['custom_field_1', 'custom_field_2']);\n}, 10, 3);\n\nmksddn_fh_allowed_redirect_hosts - Whitelist external domains for redirect URLs\n\nadd_filter('mksddn_fh_allowed_redirect_hosts', function($hosts) {\n    \u002F\u002F Allow specific external domains for redirects\n    return array_merge($hosts, ['example.com', 'trusted-partner.com']);\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Actions:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>mksddn_forms_handler_log_security - Fired when unauthorized fields are detected\nmksddn_forms_handler_log_submission - Fired when form submission is processed\u003Ch3>REST API\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Namespace: \u003Ccode>mksddn-forms-handler\u002Fv1\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>List Forms\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Method\u003C\u002Fstrong>: GET\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Path\u003C\u002Fstrong>: \u003Ccode>\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Query Parameters\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>\u003Ccode>per_page\u003C\u002Fcode> (1–100, default: 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>page\u003C\u002Fcode> (>=1, default: 1)\u003C\u002Fli>\n\u003Cli>\u003Ccode>search\u003C\u002Fcode> (string, optional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Response Headers\u003C\u002Fstrong>: \u003Ccode>X-WP-Total\u003C\u002Fcode>, \u003Ccode>X-WP-TotalPages\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Get Single Form\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Method\u003C\u002Fstrong>: GET\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Path\u003C\u002Fstrong>: \u003Ccode>\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms\u002F{slug}\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Response\u003C\u002Fstrong>: Includes \u003Ccode>id\u003C\u002Fcode>, \u003Ccode>slug\u003C\u002Fcode>, \u003Ccode>title\u003C\u002Fcode>, \u003Ccode>submit_url\u003C\u002Fcode>, \u003Ccode>fields\u003C\u002Fcode> (sanitized config)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Submit Form\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Method\u003C\u002Fstrong>: POST\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Path\u003C\u002Fstrong>: \u003Ccode>\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms\u002F{slug}\u002Fsubmit\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Types\u003C\u002Fstrong>: JSON or multipart\u002Fform-data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Body (JSON)\u003C\u002Fstrong>: Key\u002Fvalue pairs according to field configuration. The \u003Ccode>mksddn_fh_hp\u003C\u002Fcode> honeypot field may be present and must be empty (spam protection).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Body (Multipart)\u003C\u002Fstrong>: Fields and file uploads supported. For multiple files, use \u003Ccode>name[]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Validation & Limits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Only configured fields accepted; unauthorized fields return \u003Ccode>unauthorized_fields\u003C\u002Fcode> error\u003C\u002Fli>\n\u003Cli>Required fields, email, URL, number (min\u002Fmax\u002Fstep), tel (pattern), date, time, datetime-local are validated\u003C\u002Fli>\n\u003Cli>Maximum 50 fields; total payload size ≤ 100 KB\u003C\u002Fli>\n\u003Cli>Rate limiting: 1 request per 10 seconds per IP per form\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>List forms:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -s 'https:\u002F\u002Fexample.com\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Get single form:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -s 'https:\u002F\u002Fexample.com\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms\u002Fcontact'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Submit form (JSON):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -s -X POST \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\"name\":\"John\",\"email\":\"john@example.com\",\"message\":\"Hi\",\"mksddn_fh_hp\":\"\"}' \\\n  'https:\u002F\u002Fexample.com\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms\u002Fcontact\u002Fsubmit'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Submit form with files (multipart):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl -s -X POST \\\n  -F 'name=John' \\\n  -F 'email=john@example.com' \\\n  -F 'attachments[]=@\u002Fpath\u002Fto\u002Ffile1.pdf' \\\n  -F 'attachments[]=@\u002Fpath\u002Fto\u002Ffile2.png' \\\n  'https:\u002F\u002Fexample.com\u002Fwp-json\u002Fmksddn-forms-handler\u002Fv1\u002Fforms\u002Fcontact\u002Fsubmit'\u003Ch3>Supported Field Types\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Fields are configured as JSON in the form settings. Supported types:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Basic\u003C\u002Fstrong>: text, email, password\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Input\u003C\u002Fstrong>: tel, url, number, date, time, datetime-local\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Text\u003C\u002Fstrong>: textarea\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Choice\u003C\u002Fstrong>: checkbox, select (supports multiple), radio\u003C\u002Fli>\n\u003Cli>\u003Cstrong>File\u003C\u002Fstrong>: file uploads (form and REST multipart)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Array\u003C\u002Fstrong>: array_of_objects – array of objects with nested field validation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Field Configuration Notes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>name\u003C\u002Fcode> – field name (required, used as form input name)\u003C\u002Fli>\n\u003Cli>\u003Ccode>label\u003C\u002Fcode> – field label displayed in forms and admin (optional, falls back to \u003Ccode>name\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>notification_label\u003C\u002Fcode> – custom label for Telegram\u002Femail notifications (optional, priority: notification_label \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> label \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> name)\u003C\u002Fli>\n\u003Cli>\u003Ccode>type\u003C\u002Fcode> – field type (required)\u003C\u002Fli>\n\u003Cli>\u003Ccode>required\u003C\u002Fcode> – whether field is required (boolean, default: false)\u003C\u002Fli>\n\u003Cli>\u003Ccode>options\u003C\u002Fcode> can be an array of strings or objects \u003Ccode>{ \"value\": \"...\", \"label\": \"...\" }\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>For \u003Ccode>select\u003C\u002Fcode> with multiple choice, set \u003Ccode>multiple: true\u003C\u002Fcode> (shortcode renders \u003Ccode>name[]\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>For \u003Ccode>number\u003C\u002Fcode>, optional attributes: \u003Ccode>min\u003C\u002Fcode>, \u003Ccode>max\u003C\u002Fcode>, \u003Ccode>step\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>For \u003Ccode>tel\u003C\u002Fcode>, optional \u003Ccode>pattern\u003C\u002Fcode> (default server validation uses \u003Ccode>^\\+?\\d{7,15}$\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>For \u003Ccode>date\u002Ftime\u002Fdatetime-local\u003C\u002Fcode>, server validates formats: \u003Ccode>YYYY-MM-DD\u003C\u002Fcode>, \u003Ccode>HH:MM\u003C\u002Fcode>, \u003Ccode>YYYY-MM-DDTHH:MM\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>For REST submissions, send arrays for multiple selects\u003C\u002Fli>\n\u003Cli>Pattern validation: use standard regex syntax (backslashes are preserved, invalid patterns are rejected)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>File Field Options\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>allowed_extensions\u003C\u002Fcode>: Array of extensions, e.g. \u003Ccode>[\"pdf\",\"png\",\"jpg\"]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>max_size_mb\u003C\u002Fcode>: Maximum size per file (default: 10)\u003C\u002Fli>\n\u003Cli>\u003Ccode>max_files\u003C\u002Fcode>: Maximum files per field (default: 5)\u003C\u002Fli>\n\u003Cli>\u003Ccode>multiple\u003C\u002Fcode>: Allow multiple files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Example JSON Configuration\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[\n  {\"name\":\"name\",\"label\":\"Name\",\"type\":\"text\",\"required\":true,\"placeholder\":\"Your name\"},\n  {\"name\":\"email\",\"label\":\"Email\",\"notification_label\":\"Email Address\",\"type\":\"email\",\"required\":true},\n  {\"name\":\"phone\",\"label\":\"Phone\",\"type\":\"tel\",\"pattern\":\"^\\\\\\\\+?\\\\\\\\d{7,15}$\"},\n  {\"name\":\"website\",\"label\":\"Website\",\"type\":\"url\"},\n  {\"name\":\"age\",\"label\":\"Age\",\"type\":\"number\",\"min\":1,\"max\":120,\"step\":1},\n  {\"name\":\"birth\",\"label\":\"Birth date\",\"type\":\"date\"},\n  {\"name\":\"message\",\"label\":\"Message\",\"type\":\"textarea\",\"required\":true},\n  {\"name\":\"agree\",\"label\":\"I agree to Terms\",\"type\":\"checkbox\",\"required\":true},\n  {\n    \"name\":\"services\",\n    \"label\":\"Choose services\",\n    \"type\":\"select\",\n    \"multiple\":true,\n    \"options\":[\"seo\",\"smm\",\"ads\"]\n  },\n  {\n    \"name\":\"attachments\",\n    \"label\":\"Attach files\",\n    \"type\":\"file\",\n    \"multiple\":true,\n    \"allowed_extensions\":[\"pdf\",\"png\",\"jpg\"],\n    \"max_size_mb\":10,\n    \"max_files\":3\n  },\n  {\n    \"name\":\"products\",\n    \"label\":\"Products\",\n    \"type\":\"array_of_objects\",\n    \"required\":true,\n    \"fields\":[\n      {\"name\":\"name\",\"label\":\"Product Name\",\"type\":\"text\",\"required\":true},\n      {\"name\":\"size\",\"label\":\"Size\",\"type\":\"text\",\"required\":true},\n      {\"name\":\"color\",\"label\":\"Color\",\"type\":\"text\",\"required\":true},\n      {\"name\":\"quantity\",\"label\":\"Quantity\",\"type\":\"number\",\"required\":true,\"min\":1},\n      {\"name\":\"price\",\"label\":\"Price\",\"type\":\"number\",\"required\":true,\"min\":0}\n    ]\n  }\n]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Pattern Validation Examples\u003C\u002Fh4>\n\u003Cp>Common regex patterns for validation (use in JSON with double backslashes):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Phone (international): \u003Ccode>\"pattern\": \"^\\\\+?\\\\d{7,15}$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Phone (US): \u003Ccode>\"pattern\": \"^\\\\(\\\\d{3}\\\\)\\\\s?\\\\d{3}-\\\\d{4}$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Postal code (US): \u003Ccode>\"pattern\": \"^\\\\d{5}(-\\\\d{4})?$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Postal code (RU): \u003Ccode>\"pattern\": \"^\\\\d{6}$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Only letters: \u003Ccode>\"pattern\": \"^[a-zA-Z]+$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Alphanumeric: \u003Ccode>\"pattern\": \"^[a-zA-Z0-9]+$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>URL slug: \u003Ccode>\"pattern\": \"^[a-z0-9-]+$\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Important notes:\u003C\u002Fstrong>\u003Cbr \u002F>\n* In JSON, backslashes must be doubled (e.g., \u003Ccode>\\\\d\u003C\u002Fcode> instead of \u003Ccode>\\d\u003C\u002Fcode>, \u003Ccode>\\\\+\u003C\u002Fcode> instead of \u003Ccode>\\+\u003C\u002Fcode>)\u003Cbr \u002F>\n* HTML tags in patterns will be automatically removed for security\u003Cbr \u002F>\n* Invalid regex patterns will be rejected silently (check debug.log if WP_DEBUG is enabled)\u003C\u002Fp>\n\u003Ch4>Array of Objects Field Type\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>array_of_objects\u003C\u002Fcode> type allows you to define arrays with nested field validation. Each item in the array is validated according to the nested \u003Ccode>fields\u003C\u002Fcode> configuration.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Configuration:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>name\u003C\u002Fcode>: Field name (required)\u003Cbr \u002F>\n* \u003Ccode>label\u003C\u002Fcode>: Field label (required)\u003Cbr \u002F>\n* \u003Ccode>notification_label\u003C\u002Fcode>: Custom label for notifications (optional, priority: notification_label \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> label \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> name)\u003Cbr \u002F>\n* \u003Ccode>type\u003C\u002Fcode>: Must be \u003Ccode>\"array_of_objects\"\u003C\u002Fcode> (required)\u003Cbr \u002F>\n* \u003Ccode>required\u003C\u002Fcode>: Whether the array is required (default: false)\u003Cbr \u002F>\n* \u003Ccode>fields\u003C\u002Fcode>: Array of field configurations for each object in the array (required)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Nested fields support all standard field types\u003C\u002Fstrong> (text, email, tel, url, number, textarea, etc.) with full validation. Nested fields also support \u003Ccode>notification_label\u003C\u002Fcode> for custom labels in Telegram\u002Femail notifications.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example REST API submission:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{\n  \"email\": \"user@example.com\",\n  \"phone\": \"+1234567890\",\n  \"products\": [\n    {\n      \"name\": \"T-Shirt\",\n      \"size\": \"M\",\n      \"color\": \"Red\",\n      \"quantity\": 2,\n      \"price\": 1500\n    },\n    {\n      \"name\": \"Jeans\",\n      \"size\": \"L\",\n      \"color\": \"Blue\",\n      \"quantity\": 1,\n      \"price\": 3000\n    }\n  ]\n}\u003Ch3>External Services\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This plugin can connect to external services when explicitly enabled in a form’s settings:\u003C\u002Fp>\n\u003Ch4>Google OAuth2 and Google Sheets API\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Authenticate and append rows to a spreadsheet\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When\u003C\u002Fstrong>: Only if “Send to Google Sheets” is enabled for a form and valid credentials are provided\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data sent\u003C\u002Fstrong>: Form fields configured for the form, form title, timestamp\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Endpoints used\u003C\u002Fstrong>: \u003Ccode>https:\u002F\u002Foauth2.googleapis.com\u002Ftoken\u003C\u002Fcode>, \u003Ccode>https:\u002F\u002Fsheets.googleapis.com\u002Fv4\u002Fspreadsheets\u002F...\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms\u003C\u002Fstrong>: https:\u002F\u002Fpolicies.google.com\u002Fterms\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy\u003C\u002Fstrong>: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Telegram Bot API\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Send a message with submission content to specified chat(s)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When\u003C\u002Fstrong>: Only if “Send to Telegram” is enabled for a form and bot token + chat IDs are configured\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data sent\u003C\u002Fstrong>: Form fields configured for the form, form title\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Endpoint used\u003C\u002Fstrong>: \u003Ccode>https:\u002F\u002Fapi.telegram.org\u002Fbot\u003Ctoken>\u002FsendMessage\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms\u002FPrivacy\u003C\u002Fstrong>: https:\u002F\u002Ftelegram.org\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy Notes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>No IP address or user agent is transmitted to external services; only form field values are sent\u003C\u002Fli>\n\u003Cli>External delivery is opt-in per form and disabled by default\u003C\u002Fli>\n\u003C\u002Ful>\n","Advanced form processing system with REST API support, Telegram notifications, and Google Sheets integration.",708,"2026-02-20T12:32:00.000Z","8.0",[105,106,20,107,23],"form-handler","forms","rest-api","https:\u002F\u002Fgithub.com\u002Fmksddn\u002FWP-MksDdn-Forms-Handler","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmksddn-forms-handler.2.4.0.zip","2026-04-06T09:54:40.288Z",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":119,"downloaded":120,"rating":121,"num_ratings":122,"last_updated":123,"tested_up_to":16,"requires_at_least":124,"requires_php":18,"tags":125,"homepage":128,"download_link":129,"security_score":121,"vuln_count":14,"unpatched_count":29,"last_vuln_date":130,"fetched_at":31},"click-to-chat-for-whatsapp","Click to Chat – HoliThemes","4.39","HoliThemes","https:\u002F\u002Fprofiles.wordpress.org\u002Fholithemes\u002F","\u003Cp>WhatsApp Chat. Let’s make your Web page visitors contact you through “WhatsApp” or “WhatsApp Business” with a single click (WhatsApp Chat, Group).\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Flist-of-styles\u002F\" rel=\"nofollow ugc\">Demo\u003C\u002Fa>  |  \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>  |  \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fsupport\u002F\" rel=\"nofollow ugc\">Support\u003C\u002Fa>  |  \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fpricing\u002F\" rel=\"nofollow ugc\">PRO\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>WhatsApp Chat\u003C\u002Fh3>\n\u003Cp>Add ‘WhatsApp’ or ‘WhatsApp Business’ Number and let your website visitors contact you with a single click.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📱 Mobile:\u003C\u002Fstrong>  Open the WhatsApp Mobile App for a seamless connection.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>💻 Desktop:\u003C\u002Fstrong> Direct visitors to the WhatsApp Desktop App or Web WhatsApp page (web.whatsapp.com)\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FO_BF9rhazvI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3>💎 Styles\u003C\u002Fh3>\n\u003Cp>Select a style that complements the design of your website.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>8 pre-defined customizable styles\u002Fdesigns\u003C\u002Fli>\n\u003Cli>Add your own Image\u002FGIF\u003C\u002Fli>\n\u003Cli>Custom Element\u002FDesign (convert any element to a WhatsApp Chat element)\u003C\u002Fli>\n\u003Cli>Shortcodes (Add WhatsApp button\u002Ficon with inline the content)\u003C\u002Fli>\n\u003Cli>Different Styles, Positions for Mobile, Desktop\u003C\u002Fli>\n\u003Cli>Choose a style and customize it to match the website’s design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Flist-of-styles\u002F\" rel=\"nofollow ugc\">list of Styles\u003C\u002Fa>  |  🎨\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fcustomize-styles\u002F\" rel=\"nofollow ugc\">Customize Styles\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>💡 Add Own Image\u003C\u002Fh4>\n\u003Cp>Instead of selecting a pre-defined style, add any Image\u002FAnimated-image\u002FGIF.\u003C\u002Fp>\n\u003Ch3>🌈 Custom Element\u003C\u002Fh3>\n\u003Cp>Convert any Element as a WhatsApp Chat Element by adding\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Class\u002FID name: ‘ctc_chat’ (or)\u003C\u002Fli>\n\u003Cli>Href\u002Flink: ‘#ctc_chat’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The custom design element will navigate to WhatsApp based on plugin settings (WhatsApp Number, pre-filled message, Analytics, …. ).\u003Cbr \u002F>\n(e.g. menu item, button, image, link – just add ctc_chat as a class name)\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fcustom-element\u002F\" rel=\"nofollow ugc\">Custom Element\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🎉 Greetings Dialog\u003C\u002Fh3>\n\u003Cp>Add customizable greeting dialogs for boosting user attention and increasing interaction. Seamlessly integrate these greetings into your website for better engagement.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgreetings-1\u002F\" rel=\"nofollow ugc\">Greetings-1\u003C\u002Fa> – Customizable Design: Personalize the design to match your branding with full control over fonts, colors, images, and more.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgreetings-2\u002F\" rel=\"nofollow ugc\">Greetings-2\u003C\u002Fa> – Content Specific: Deliver focused messages that resonate effectively with your users.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>📝 Form Filling\u003C\u002Fh4>\n\u003Cp>Get the necessary information from the website visitors before initiating the chat.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Get an email notification when the user fills out the form.\u003C\u002Fli>\n\u003Cli>Call a webhook with the form data to integrate with other applications. Using integrations tools add data in Google Sheet, CRM and many more applications.\u003C\u002Fli>\n\u003Cli>Form data can be prefilled in the WhatsApp chat window.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PRO: \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgreetings-form\u002F\" rel=\"nofollow ugc\">Greetings-Form\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>👥 Multi-Agent\u003C\u002Fh4>\n\u003Cp>Add multiple WhatsApp chat accounts within a single Greetings dialog.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>We can set different time ranges for each agent. (24×7 or multiple time ranges for each day of the week).\u003C\u002Fli>\n\u003Cli>Offline Agents\n\u003Cul>\n\u003Cli>Chat when offline (display agent with next available time).\u003C\u002Fli>\n\u003Cli>Disable chat (display agent with next available time).\u003C\u002Fli>\n\u003Cli>Hide offline agents\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PRO: \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fmulti-agent\" rel=\"nofollow ugc\">Multi-Agent\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>⌛ Greetings Actions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Click Action\u003C\u002Fstrong>: Displays greeting dialog when a user clicks on any element with the class name: ‘ctc_greetings’.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ViewPort Action\u003C\u002Fstrong>: Displays Greetings When an element is in\u002Freached viewport(25% margin) with the Class name: ‘ctc_greetings_now’ [PRO]\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Time, Scroll Actions\u003C\u002Fstrong>: Display Greetings based on time, scroll [PRO]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These actions enhance user interaction by triggering greetings at the right moments, improving engagement and support efficiency.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgreetings-actions\u002F\" rel=\"nofollow ugc\">Actions\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🔴 Notification Badge\u003C\u002Fh3>\n\u003Cp>Get user attention by displaying a notification badge on the WhatsApp Chat element.\u003C\u002Fp>\n\u003Cp>Customize the notification badge with the notification count, text color, background color, border color, and time delay to display the notification badge.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fnotification-badge\u002F\" rel=\"nofollow ugc\">Notification Badge\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>✳️ Position to Place\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add WhatsApp at any position of the screen\u003Cbr \u002F>\n(not limited to fixed positions).\u003C\u002Fli>\n\u003Cli>Different positions for Mobile and Desktop.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>⏩ Pre-filled Message\u003C\u002Fh3>\n\u003Cp>Text that appears in the WhatsApp chat window when the user clicks on the WhatsApp.\u003C\u002Fp>\n\u003Cp>Users can easily start the conversation.\u003C\u002Fp>\n\u003Cp>Variables to change values dynamically\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>{site}\u003C\u002Fstrong> -> Website Title\u003C\u002Fli>\n\u003Cli>\u003Cstrong>{title}\u003C\u002Fstrong> -> Page Title\u003C\u002Fli>\n\u003Cli>\u003Cstrong>{url}\u003C\u002Fstrong> -> Web page URL\u003C\u002Fli>\n\u003Cli>\u003Cstrong>[url]\u003C\u002Fstrong> -> Web page full URL including query parameters\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With these variables, we can understand from which page the user started WhatsApp chat.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fpre-filled-message\u002F\" rel=\"nofollow ugc\">Pre-filled Message\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🛍️ WooCommerce\u003C\u002Fh3>\n\u003Ch3>WooCommerce product pages\u003C\u002Fh3>\n\u003Cp>For WooCommerce, single product pages can overwrite the main setings to add a product specific message using dynamic variables.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Pre-filled Message\u003C\u002Fli>\n\u003Cli>Call to Action\u003C\u002Fli>\n\u003Cli>Greetings Template, Content [PRO]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Additional variables, specific to WooCommerce single product page to change values dynamically\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>{product}\u003C\u002Fstrong> -> Product Name\u003C\u002Fli>\n\u003Cli>\u003Cstrong>{price}\u003C\u002Fstrong> -> Product Price (current price)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>{regular_price}\u003C\u002Fstrong> -> Regular product price (without any sale)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>{sku}\u003C\u002Fstrong> -> Stock keeping unit\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For Shop, Cart, Checkout, and Account pages we can overwrite at page level settings\u003C\u002Fp>\n\u003Ch3>Add WhatsApp – Single Product Pages\u003C\u002Fh3>\n\u003Cp>Add WhatsApp button or icon at WooCommerce single product pages.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Before Main Content\u003C\u002Fli>\n\u003Cli>Before Product\u003C\u002Fli>\n\u003Cli>Before Product Summary\u003C\u002Fli>\n\u003Cli>Product Summary\u003C\u002Fli>\n\u003Cli>Before Add to Cart Form\u003C\u002Fli>\n\u003Cli>Before Cart Button\u003C\u002Fli>\n\u003Cli>After Cart Button\u003C\u002Fli>\n\u003Cli>After Add to Cart Form\u003C\u002Fli>\n\u003Cli>After Product\u003C\u002Fli>\n\u003Cli>After product summary\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>We can add dynamic variables for the Call to Action.\u003Cbr \u002F>\nE.g. Buy {product}\u003Cbr \u002F>\n{product} will be replaced with the product name for all product pages.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fadd-whatsapp-in-woocommerce-single-product-pages\u002F\" rel=\"nofollow ugc\">Add WhatsApp Icon\u002FButton in WooCommerce Product pages\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Add WhatsApp – Shop Page\u003C\u002Fh4>\n\u003Cp>Add WhatsApp to WooCommerce Products list (shop page, related products list)\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fwhatsapp-chat-in-woocommerce-shop-page\u002F\" rel=\"nofollow ugc\">Shop page\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>📒 Page Level Settings\u003C\u002Fh3>\n\u003Cp>At the page level, we can overwrite the settings for each post. We can add a different Whatsapp Number, Prefilled Message, Call to Action for each post\u003Cbr \u002F>\n(while editing the post, in the right sidebar ‘Click to Chat’ meta box)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WhatsApp Number\u003C\u002Fli>\n\u003Cli>Call to Action\u003C\u002Fli>\n\u003Cli>Pre-filled Message\u003C\u002Fli>\n\u003Cli>Display Settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PRO:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Change Styles\u003C\u002Fli>\n\u003Cli>Time Delay\u003C\u002Fli>\n\u003Cli>Scroll Delay\u003C\u002Fli>\n\u003Cli>Greetings Template\u003C\u002Fli>\n\u003Cli>Greetings Header, Main, Bottom Content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fchange-values-at-page-level\u002F\" rel=\"nofollow ugc\">Page-level settings\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>📈 Analytics\u003C\u002Fh3>\n\u003Cp>Creates an Event when the user clicks on the WhatsApp Icon\u002Fbutton.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgoogle-analytics\u002F\" rel=\"nofollow ugc\">Google Analytics\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Ffacebook-pixel\u002F\" rel=\"nofollow ugc\">Meta Pixel\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgoogle-ads-conversion\u002F\" rel=\"nofollow ugc\">Google Ads Conversations\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Webhooks\u003C\u002Fh3>\n\u003Cp>Connect other applications using Integrate, Automation tools like Zapier, IFTTT, Pipedream, etc.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fwebhooks\" rel=\"nofollow ugc\">Webhooks\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>⭐ PRO\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Multi-Agent: Displays multiple WhatsApp chat accounts\n\u003Cul>\n\u003Cli>Set multiple time ranges for each agent’s availability\u003C\u002Fli>\n\u003Cli>Hide offline agents or display agent when offline with next available time\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Random Numbers: Navigates to a random WhatsApp number from the predefined list\u003C\u002Fli>\n\u003Cli>Form: Get the necessary information from the website visitors, before initiating the chat\n\u003Cul>\n\u003Cli>Get an email notification when the user fills out the form.\u003C\u002Fli>\n\u003Cli>Use webhooks to send form data to external apps in real-time for seamless integration.\u003C\u002Fli>\n\u003Cli>Prefill WhatsApp messages with user-provided form data to streamline conversations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Business hours: Offline\u002FOnline Settings\n\u003Cul>\n\u003Cli>Set business hours for a specific time range within a day, specific days in a week.\u003C\u002Fli>\n\u003Cli>Hide the widget during offline hours or automatically change the WhatsApp numbers and call to action.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Display based on website visitor’s country\u003C\u002Fli>\n\u003Cli>Webhooks – Dynamic variables\n\u003Cul>\n\u003Cli>{url} – Current page URL.\u003C\u002Fli>\n\u003Cli>{time} – Time user interacted with the WhatsApp Button\u002FIcon.\u003C\u002Fli>\n\u003Cli>{number} – WhatsApp Number associated with the icon\u002Fbutton.\u003C\u002Fli>\n\u003Cli>Get values from url parameters by adding name with in single square brackets E.g. [gclid], [utm_source]\u003C\u002Fli>\n\u003Cli>Get values from cookies by adding the name with in double square brackets. E.g. [[cookie_name]]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Get additional values at Google Analytics, Meta Pixel\n\u003Cul>\n\u003Cli>Get values from url parameters. E.g. [gclid], [utm_source]\u003C\u002Fli>\n\u003Cli>Get values from cookies. E.g. [[cookie_name]]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Greetings Actions: (for all greeting dialogs: Greetings-1, Greetings-2, Form, Multi-agent)\n\u003Cul>\n\u003Cli>Display greetings dynamically based on user actions such as\n\u003Cul>\n\u003Cli>Time: Time spent on the page, \u003C\u002Fli>\n\u003Cli>Scroll: Page scroll percentage, \u003C\u002Fli>\n\u003Cli>Click: specific button clicks \u003C\u002Fli>\n\u003Cli>ViewPort: when an element becomes visible in the viewport.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Position to place\n\u003Cul>\n\u003Cli>Fixed: Fixed position on the screen (default position)\u003C\u002Fli>\n\u003Cli>Absolute: Fixed position to the body content. (Moves when the user scrolls the page)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Time Delay & Scroll Delay: Display WhatsApp widget after a specified time delay or once the user scrolls a certain percentage of the page.\u003C\u002Fli>\n\u003Cli>Display based on Website visitor’s login status\u003C\u002Fli>\n\u003Cli>Page-level settings: Fine-tune WhatsApp button behavior for individual pages. Change styles, time delays, scroll delay, Greetings Template, and Greetings Content\u003C\u002Fli>\n\u003Cli>WooCommerce: Customize WhatsApp widget behavior specifically for WooCommerce pages\n\u003Cul>\n\u003Cli>Overwrite greetings template, Content for Single product pages.\u003C\u002Fli>\n\u003Cli>Overwrite settings for Shop, Checkout, and Account pages at page-level settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>🔆 \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fpricing\u002F\" rel=\"nofollow ugc\">PRO\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🎯 Localization\u003C\u002Fh3>\n\u003Cp>Click to Chat is Compatible with translation plugins. \u003Ca href=\"https:\u002F\u002Fwpml.org\u002F\" rel=\"nofollow ugc\">WPML\u003C\u002Fa>, Polylang.\u003C\u002Fp>\n\u003Cp>It is easy to set up different values for each language\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WhatsApp Number\u003C\u002Fli>\n\u003Cli>Call to Action\u003C\u002Fli>\n\u003Cli>Pre-filled Message\u003C\u002Fli>\n\u003Cli>Greetings Content\u003C\u002Fli>\n\u003Cli>Group ID\u003C\u002Fli>\n\u003Cli>Share Text\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Setup for \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Ftranslate-click-to-chat-settings-using-wpml-plugin\u002F\" rel=\"nofollow ugc\">WPML\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Ftranslate-click-to-chat-settings-using-polylang-plugin\u002F\" rel=\"nofollow ugc\">Polylang\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🚀 Performance\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Rich in features, but the site’s front end is very lightweight.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>We highly concentrate on speed and performance.\u003C\u002Fp>\n\u003Ch3>👓 Display Settings\u003C\u002Fh3>\n\u003Cp>Customize the visibility of the widget by showing or hiding styles based on specific settings, such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Post type\u003C\u002Fli>\n\u003Cli>Post Id\u003C\u002Fli>\n\u003Cli>Category name\u003C\u002Fli>\n\u003Cli>Device Type(Mobile, Desktop)\u003C\u002Fli>\n\u003Cli>WooCommerce single product pages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>PRO:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Time delay\u003C\u002Fli>\n\u003Cli>Scroll delay\u003C\u002Fli>\n\u003Cli>Selected time range in a day\u003C\u002Fli>\n\u003Cli>Selected Days in a week\u003C\u002Fli>\n\u003Cli>Website visitor login status\u003C\u002Fli>\n\u003Cli>Website visitor country\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>✅ Opt-in\u003C\u002Fh3>\n\u003Cp>Make the website users opt-in \u002F accept consent before initiating the chat.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fopt-in\u002F\" rel=\"nofollow ugc\">Opt-in\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>⛳ Shortcodes\u003C\u002Fh3>\n\u003Cp>Use shortcodes to instead a WhatsApp icon or button with inline the Post content, widget area.\u003C\u002Fp>\n\u003Cp>change the default setting values using shortcode attributes – WhatsApp Number, Style, Pre-filled message, Call to Action.\u003C\u002Fp>\n\u003Ch4>Chat Shortcodes\u003C\u002Fh4>\n\u003Cp>[ht-ctc-chat]\u003C\u002Fp>\n\u003Cp>To change the WhatsApp number use the ‘number’ attribute\u003C\u002Fp>\n\u003Cp>[ht-ctc-chat number=915123456789]\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fshortcodes-chat\u002F\" rel=\"nofollow ugc\">Shortcodes for Chat\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Group\u003C\u002Fh4>\n\u003Cp>Enable the Group chat feature and add WhatsApp Group id in the plugin settings.\u003C\u002Fp>\n\u003Cp>Make it easy for your customers to join Whatsapp Group.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fgroup-chat-feature\u002F\" rel=\"nofollow ugc\">Group\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Share\u003C\u002Fh4>\n\u003Cp>Let users share your website with their WhatsApp contacts and get more leads.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fholithemes.com\u002Fplugins\u002Fclick-to-chat\u002Fshare-feature\u002F\" rel=\"nofollow ugc\">Share\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>🌏 Help Translate The Plugin\u003C\u002Fh4>\n\u003Cp>Help by \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fclick-to-chat-for-whatsapp\u002F\" rel=\"nofollow ugc\">Translating the plugin\u003C\u002Fa> to be available in more languages\u003C\u002Fp>\n","WhatsApp Chat🔥. Let's make your Web page visitors contact you through 'WhatsApp', 'WhatsApp Business'. Add matching Widget✅",700000,19684721,96,131,"2026-03-30T08:26:00.000Z","4.7",[126,72,73,24,127],"click-to-chat","woocommerce-whatsapp","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclick-to-chat-for-whatsapp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fclick-to-chat-for-whatsapp.4.39.zip","2025-06-13 20:15:36",{"slug":132,"name":133,"version":134,"author":135,"author_profile":136,"description":137,"short_description":138,"active_installs":119,"downloaded":139,"rating":140,"num_ratings":141,"last_updated":142,"tested_up_to":69,"requires_at_least":143,"requires_php":69,"tags":144,"homepage":147,"download_link":148,"security_score":13,"vuln_count":29,"unpatched_count":29,"last_vuln_date":39,"fetched_at":31},"creame-whatsapp-me","Joinchat","6.1.3","Creame","https:\u002F\u002Fprofiles.wordpress.org\u002Fcreapuntome\u002F","\u003Cblockquote>\n\u003Cp>\u003Cstrong>Turn conversations into conversions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>🎉 Chat with your website visitors through their favorite chat applications. Place a floating contact button at the bottom of your site and give the best support to your customers.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fdocs\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fpremium\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">\u003Cstrong>Joinchat Premium\u003C\u002Fstrong>\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fai\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">\u003Cstrong>Joinchat AI ✨\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>⌁ What you can do with Joinchat ✅\u003C\u002Fh3>\n\u003Ch3>🛎 Insert a contact button for WhatsApp on your website.\u003C\u002Fh3>\n\u003Cp>Set your ‘WhatsApp’ or ‘WhatsApp Business’ number and let your visitors contact you easily:\u003C\u002Fp>\n\u003Cp>🧩 \u003Cstrong>WhatsApp Contact Button Block\u003C\u002Fstrong> with optional QR Code\u003C\u002Fp>\n\u003Cp>📱 On mobile, launch WhatsApp mobile app\u003C\u002Fp>\n\u003Cp>💻 On desktop, launch WhatsApp desktop app or WhatsApp Web\u003C\u002Fp>\n\u003Cp>🤳 On desktop, \u003Cstrong>show QR Code\u003C\u002Fstrong> to scan from phone\u003C\u002Fp>\n\u003Cp>Customize your logo, profile picture or even an animated gif.\u003C\u002Fp>\n\u003Cp>Define in which pages or zones it should appear, the delay time, if you want it to the right or to the left, only on mobile phones or also on the desktop.\u003C\u002Fp>\n\u003Cp>You can define a tooltip or a call to action to capture the user’s interest, the limit is set by your creativity.\u003C\u002Fp>\n\u003Ch3>📢 New on Joinchat 6\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Enhance your CTAs with \u003Cstrong>Rich Chat\u003C\u002Fstrong>: multiple chat bubbles, include links or buttons, add images and use random texts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Improved performance\u003C\u002Fstrong>: vanilla JavaScript without any dependency and lazy loading of styles and scripts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>New button icons\u003C\u002Fstrong> and allows to keep the alternative image fixed.\u003C\u002Fli>\n\u003Cli>Integration with new \u003Cstrong>WooCommerce brands\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Added WordPress Abilities for set main settings and generate WhatsApp “click to chat” links\u003C\u002Fli>\n\u003Cli>Other optimizations: refactor and improved styles, updated phone input (37 translations included), added \u003Cstrong>{HOME}\u003C\u002Fstrong> variable, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📝 Settings at page or archive level.\u003C\u002Fh3>\n\u003Cp>You can \u003Cstrong>change main settings on every Post, Page, Product or CPT and for Tag or Category archive pages\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Editing your posts in the right side in the Joinchat metabox or editing your tags or categories in the Joinchat section, you can modify Phone, CTA, Start Message and Visibility options.\u003C\u002Fp>\n\u003Ch3>🔴 Show a notification.\u003C\u002Fh3>\n\u003Cp>Use a balloon on the button to get the visitor’s attention.\u003C\u002Fp>\n\u003Cp>In this way, you ensure that you do not miss any important message you want to give them, surprise them in a less intrusive way.\u003C\u002Fp>\n\u003Ch3>📯 Create call-to-action messages.\u003C\u002Fh3>\n\u003Cp>To get users to start the chat, use custom CTAs on each page, product or section.\u003C\u002Fp>\n\u003Cp>Welcome them, help them and offer them offers or promotions. \u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fes\u002Fjoinchat-mucho-mas-que-un-click-to-chat\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">Read more\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>💬 Customize conversation start messages.\u003C\u002Fh3>\n\u003Cp>Set the first message so that the visitor can start the conversation immediately.\u003C\u002Fp>\n\u003Cp>Use our “Dynamic Variables” and you will know what page the visitor is coming from or what product they are looking at when they start the chat.\u003C\u002Fp>\n\u003Ch3>✅ Opt-in text.\u003C\u002Fh3>\n\u003Cp>Opt-in is a users’ consent to receive messages from a business.\u003C\u002Fp>\n\u003Cp>Write a text with the conditions under which the visitor contacts you (or other info that you consider important).\u003C\u002Fp>\n\u003Cp>You can make it mandatory and disable contact until the user accepts it.\u003C\u002Fp>\n\u003Ch3>🛒 Integration with WooCommerce.\u003C\u002Fh3>\n\u003Cp>Define CTAs and Custom Start Messages for shop page, product pages and for products on sale.\u003C\u002Fp>\n\u003Cp>Add a \u003Cstrong>WhatsApp Contact Button\u003C\u002Fstrong> directly on your product page next to the “Add to cart” button or choose the best position, even on products without a price.\u003C\u002Fp>\n\u003Ch3>🧩 WhatsApp Contact Button Block (min WP 5.9).\u003C\u002Fh3>\n\u003Cp>Add beautiful and customizable WhatsApp contact buttons in the Block Editor.\u003C\u002Fp>\n\u003Cp>Ready to use patterns with different styles are also included.\u003C\u002Fp>\n\u003Cp>Enable QR Code on desktop to allow your visitors to scan it and start messaging from their phone.\u003C\u002Fp>\n\u003Cp>You can define phone and initial message of the button or use the post\u002Fgeneral Joinchat settings (ideal for Reusable Blocks).\u003C\u002Fp>\n\u003Ch3>🃏 Dynamic Variables.\u003C\u002Fh3>\n\u003Cp>Use variables in your CTAs and Start Messages that change dynamically for each page:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>{SITE}\u003C\u002Fstrong> ➡ Website title\u003Cbr \u002F>\n\u003Cstrong>{TITLE}\u003C\u002Fstrong> ➡ Current page title\u003Cbr \u002F>\n\u003Cstrong>{HOME}\u003C\u002Fstrong> ➡ Website home url\u003Cbr \u002F>\n\u003Cstrong>{URL}\u003C\u002Fstrong> ➡ Current page url\u003Cbr \u002F>\n\u003Cstrong>{HREF}\u003C\u002Fstrong> ➡ Current page url (full with query params)\u003Cbr \u002F>\n\u003Cstrong>{PRODUCT}\u003C\u002Fstrong> ➡ Product name (Woo)\u003Cbr \u002F>\n\u003Cstrong>{SKU}\u003C\u002Fstrong> ➡ Product SKU (Woo)\u003Cbr \u002F>\n\u003Cstrong>{REGULAR}\u003C\u002Fstrong> ➡ Product regular price (Woo)\u003Cbr \u002F>\n\u003Cstrong>{PRICE}\u003C\u002Fstrong> ➡ Product current price (Woo)\u003Cbr \u002F>\n\u003Cstrong>{DISCOUNT}\u003C\u002Fstrong> ➡ Product percent discount when is on sale (Woo)\u003C\u002Fp>\n\u003Ch3>📈 Analytics Integration.\u003C\u002Fh3>\n\u003Cp>Automatically send events to \u003Cstrong>Google Analytics, Google Tag Manager and Facebook Pixel\u003C\u002Fstrong> when the user opens WhatsApp.\u003C\u002Fp>\n\u003Cp>Now can \u003Cstrong>send events to multiple destinations\u003C\u002Fstrong> on Google Tag!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Google Analytics 4\u003C\u002Fstrong> integration with the recommended \u003Ccode>\"generate_lead\"\u003C\u002Fcode> event.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Google Ads\u003C\u002Fstrong> conversion, just add your Conversion ID and Conversion Label.\u003C\u002Fp>\n\u003Cp>You can also \u003Cstrong>create your own custom events or add event parameters\u003C\u002Fstrong>. \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcreame-whatsapp-me\u002Ffaq\u002F\" rel=\"ugc\">View FAQs\u003C\u002Fa> \u002F \u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fjoinchat-measures-whatsapp-events-in-google-analytics\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">Read more\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🍾 Chat Triggers.\u003C\u002Fh3>\n\u003Cp>Any element in your page can be a chat trigger, eg: it can launch WhatsApp from a link or show the Joinchat CTA when the user scrolls to the footer.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>On page load (by url):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>url query param \u003Ccode>joinchat\u003C\u002Fcode> to show chat window. Can set delay in seconds, default is 0 \u003Cem>(e.g. example.com\u002Fpage\u002F?joinchat=5)\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>url query hash \u003Ccode>#joinchat\u003C\u002Fcode> to show chat window \u003Cem>(e.g. example.com\u002Fpage\u002F#joinchat)\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>On click:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>class \u003Ccode>\"joinchat_app\"\u003C\u002Fcode> direct launch WhatsApp\u003C\u002Fli>\n\u003Cli>class \u003Ccode>\"joinchat_open\"\u003C\u002Fcode> opens Joinchat CTA\u003C\u002Fli>\n\u003Cli>link href \u003Ccode>\"#whatsapp\"\u003C\u002Fcode> direct launch WhatsApp\u003C\u002Fli>\n\u003Cli>link href \u003Ccode>\"#joinchat\"\u003C\u002Fcode> opens Joinchat CTA\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Set \u003Cstrong>custom phone and initial message\u003C\u002Fstrong> for direct WhatsApp triggers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>data-phone=\"99999999\"\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>data-message=\"Only for this trigger message\"\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>On scroll (when element appears on screen):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>class \u003Ccode>\"joinchat_show\"\u003C\u002Fcode> opens Joinchat CTA (first time)\u003C\u002Fli>\n\u003Cli>class \u003Ccode>\"joinchat_force_show\"\u003C\u002Fcode> opens Joinchat CTA (always)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>💱 Multi-Language & RTL Support.\u003C\u002Fh3>\n\u003Cp>To be able to support all your users, wherever they are. Our plugin is \u003Cstrong>compatible with WPML and Polylang\u003C\u002Fstrong> and also \u003Cstrong>RTL languages\u003C\u002Fstrong> are supported.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Direct link to edit translations\u003C\u002Fstrong> when a translatable field is changed.\u003C\u002Fp>\n\u003Ch3>🌈 Theme Colors & 🌚 Dark Mode.\u003C\u002Fh3>\n\u003Cp>You choose a color and we customize the entire visual theme of the widget. With Dark Mode display the chat window with dark colors and white text. From settings you can activate it or leave it automatic and detects devices’ configuration.\u003C\u002Fp>\n\u003Ch3>⚡ Fast & Light.\u003C\u002Fh3>\n\u003Cp>Only load what need when needed. Joinchat is lightweight and follow best coding practices. \u003Ca href=\"https:\u002F\u002Fwphive.com\u002Fplugins\u002Fcreame-whatsapp-me\u002F\" rel=\"nofollow ugc\">See tests report\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Use vanilla \u003Cstrong>JavaScript without dependencies\u003C\u002Fstrong>, deferred scripts and lazy load of styles to \u003Cstrong>prevent render-blocking\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>🔕 No distractions.\u003C\u002Fh3>\n\u003Cp>Joinchat integrates with all major Visual Editors and Page Builders and will not appear when editing a page.\u003C\u002Fp>\n\u003Cp>Supported editors: \u003Cstrong>Beaver Builder\u003C\u002Fstrong>, \u003Cstrong>Brizy Page Builder\u003C\u002Fstrong>, \u003Cstrong>Elementor\u003C\u002Fstrong>, \u003Cstrong>Oxygen Builder\u003C\u002Fstrong>, \u003Cstrong>Page Builder by SiteOrigin\u003C\u002Fstrong>, \u003Cstrong>Thrive Architect\u003C\u002Fstrong>, \u003Cstrong>Visual Composer\u003C\u002Fstrong> and \u003Cstrong>WP Page Builder\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>🍪 Cookies & GDPR.\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Joinchat can be used without any cookies\u003C\u002Fstrong>. But to automatically display the CTA, two cookies are necessary. They are first-party cookies and don’t collect personal data.\u003C\u002Fp>\n\u003Cp>Joinchat integrates with \u003Cem>WordPress’s Privacy Policy Guide\u003C\u002Fem> and suggests the necessary text.\u003C\u002Fp>\n\u003Ch3>👨‍💻 Developer friendly.\u003C\u002Fh3>\n\u003Cp>Fully extensible, with lots of filters and actions to extend its functionality or change behavior.\u003C\u002Fp>\n\u003Ch3>=== \u003Cstrong>Joinchat Premium\u003C\u002Fstrong> 🚀 ===\u003C\u002Fh3>\n\u003Cp>Turn your chat into a powerful lead capture and support tool.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Create chatbot-like conversation flows\u003C\u002Fstrong> to capture leads and automate replies.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manage multiple agents and schedules\u003C\u002Fstrong> to organize support.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Prevent overload\u003C\u002Fstrong> by distributing chats across multiple WhatsApp numbers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add more channels\u003C\u002Fstrong> like Telegram, Messenger, or phone calls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Boost conversions\u003C\u002Fstrong> with videos, surveys, and more right inside the chat window.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fpremium\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">👉 \u003Cstrong>Get Joinchat Premium\u003C\u002Fstrong>\u003C\u002Fa> and upgrade your support today.\u003C\u002Fp>\n\u003Ch3>=== \u003Cstrong>Joinchat AI\u003C\u002Fstrong> ✨ ===\u003C\u002Fh3>\n\u003Cp>Supercharge your chat with AI-powered instant replies and smart support.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Answer instantly 24\u002F7\u003C\u002Fstrong> using AI trained on your FAQs and website content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guide visitors and solve questions automatically\u003C\u002Fstrong> without human intervention.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reduce workload and boost efficiency\u003C\u002Fstrong> by handling repetitive queries.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keep control\u003C\u002Fstrong> with easy knowledge base management and response customization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fai\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">👉 \u003Cstrong>Get Joinchat AI\u003C\u002Fstrong>\u003C\u002Fa> and let AI handle the hard work.\u003C\u002Fp>\n\u003Ch3>🎨 “Business Chat” is our WordPress theme recommended\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Business Chat\u003C\u002Fstrong> is a versatile WordPress theme designed for businesses seeking a professional online presence. It offers a fully responsive design, built-in SEO tools, extensive customization options, and a chat integration through Joinchat. It’s compatible with popular page builders and backed by dedicated customer support. Also it’s the ultimate solution for a high-performing, user-friendly business website.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Business Chat\u003C\u002Fstrong> offers both a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fbusiness-chat\u002F\" rel=\"ugc\">free\u003C\u002Fa> and a \u003Ca href=\"https:\u002F\u002Fsuperbthemes.com\u002Fbusiness-chat\u002F\" rel=\"nofollow ugc\">premium version\u003C\u002Fa>, catering to businesses with varying budgets and requirements. This flexibility makes it an ideal choice for businesses looking for a comprehensive and versatile solution to establish their online presence.\u003C\u002Fp>\n\u003Ch3>⌁ If you like Joinchat 😍\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Please leave us a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fcreame-whatsapp-me\u002Freviews\u002F#new-post\" rel=\"ugc\">★★★★★\u003C\u002Fa> rating. We’ll thank you.\u003C\u002Fli>\n\u003Cli>Help us with the \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fcreame-whatsapp-me\" rel=\"nofollow ugc\">translation in your language\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Visit our blog and find tips and tricks at \u003Ca href=\"https:\u002F\u002Fjoin.chat\u002Fen\u002Fblog\u002F?utm_source=wporg&utm_medium=web\" rel=\"nofollow ugc\">join.chat\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Follow \u003Ca href=\"https:\u002F\u002Fx.com\u002Fjoinchatnow\" rel=\"nofollow ugc\">@joinchatnow\u003C\u002Fa> on X. Join chat now!\u003C\u002Fli>\n\u003C\u002Fol>\n","WhatsApp, Messenger, Telegram, Phone call… capture users through their favorite Apps and turn into clients",16549665,94,189,"2026-04-15T09:31:00.000Z","4.9.6",[89,145,146,23,72],"facebook-messenger","floating-button","https:\u002F\u002Fjoin.chat","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcreame-whatsapp-me.6.1.3.zip",{"attackSurface":150,"codeSignals":545,"taintFlows":575,"riskAssessment":1001,"analyzedAt":1011},{"hooks":151,"ajaxHandlers":288,"restRoutes":533,"shortcodes":534,"cronEvents":544,"entryPointCount":505,"unprotectedCount":29},[152,158,162,165,169,173,176,180,184,187,194,198,201,205,209,213,218,222,225,228,231,234,238,243,248,252,254,257,259,263,266,271,274,278,281,285],{"type":153,"name":154,"callback":155,"file":156,"line":157},"action","admin_menu","admin_menus","app\u002FAdmin.php",28,{"type":153,"name":159,"callback":160,"file":156,"line":161},"admin_init","check_database_schema",29,{"type":153,"name":159,"callback":163,"file":156,"line":164},"check_pro_version_compatibility",34,{"type":153,"name":166,"callback":167,"file":156,"line":168},"admin_notices","show_pro_upgrade_notice",35,{"type":153,"name":170,"callback":171,"file":156,"line":172},"activate_simple-form-pro\u002Fsimple-form-pro.php","prevent_old_pro_activation",37,{"type":153,"name":166,"callback":174,"file":156,"line":175},"closure",237,{"type":153,"name":159,"callback":177,"file":178,"line":179},"handle_oauth_callback","app\u002FAjax\u002FIntegrations.php",41,{"type":153,"name":181,"callback":182,"file":183,"line":157},"admin_enqueue_scripts","admin_scripts","app\u002FAssets.php",{"type":153,"name":185,"callback":186,"file":183,"line":161},"wp_enqueue_scripts","fe_scripts",{"type":188,"name":189,"callback":190,"priority":191,"file":192,"line":193},"filter","wpcf7_editor_panels","sf_custom_tab",20,"app\u002FContactformseven.php",32,{"type":153,"name":195,"callback":196,"file":192,"line":197},"wpcf7_before_send_mail","formdeck_cf7_send_message",33,{"type":153,"name":199,"callback":200,"file":192,"line":164},"wpcf7_skip_mail","formdeck_disable_default_cf7_mail",{"type":153,"name":202,"callback":203,"priority":27,"file":204,"line":157},"wp_footer","display_floating_widget","app\u002FFloatingWidget.php",{"type":188,"name":206,"callback":207,"priority":11,"file":208,"line":197},"comment_text","display_comment_custom_fields","app\u002FIntegrations\u002FCommentForm.php",{"type":153,"name":210,"callback":211,"file":208,"line":212},"add_meta_boxes_comment","add_comment_meta_box",36,{"type":188,"name":214,"callback":215,"priority":216,"file":208,"line":217},"comment_form_defaults","maybe_replace_comment_form",999,39,{"type":153,"name":219,"callback":220,"file":221,"line":161},"login_enqueue_scripts","enqueue_login_scripts","app\u002FIntegrations\u002FFormReplacer.php",{"type":153,"name":223,"callback":224,"priority":28,"file":221,"line":193},"login_message","add_custom_login_form",{"type":153,"name":226,"callback":227,"file":221,"line":168},"login_head","hide_default_forms",{"type":188,"name":214,"callback":229,"priority":216,"file":221,"line":230},"replace_comment_form",38,{"type":188,"name":232,"callback":233,"priority":216,"file":221,"line":217},"comment_form_submit_button","maybe_hide_submit_button",{"type":188,"name":235,"callback":236,"priority":216,"file":221,"line":237},"comment_form_submit_field","maybe_hide_submit_field",40,{"type":153,"name":239,"callback":240,"priority":241,"file":221,"line":242},"woocommerce_before_customer_login_form","replace_wc_forms",5,44,{"type":153,"name":244,"callback":245,"priority":11,"file":246,"line":247},"simpleform_after_form_submit","process_form_submission","app\u002FIntegrations\u002FIntegrationManager.php",59,{"type":153,"name":249,"callback":250,"file":251,"line":172},"show_user_profile","display_custom_fields_in_profile","app\u002FIntegrations\u002FWordPressAuth.php",{"type":153,"name":253,"callback":250,"file":251,"line":230},"edit_user_profile",{"type":153,"name":255,"callback":256,"file":251,"line":217},"personal_options_update","save_custom_profile_fields",{"type":153,"name":258,"callback":256,"file":251,"line":237},"edit_user_profile_update",{"type":153,"name":260,"callback":261,"priority":28,"file":251,"line":262},"login_form","maybe_replace_login_form",43,{"type":153,"name":264,"callback":265,"priority":28,"file":251,"line":242},"register_form","maybe_replace_registration_form",{"type":153,"name":267,"callback":268,"file":269,"line":270},"wp_initialize_site","on_create_site","app\u002FMultisite.php",27,{"type":188,"name":272,"callback":273,"file":269,"line":157},"wpmu_drop_tables","on_delete_site",{"type":153,"name":159,"callback":275,"file":276,"line":277},"redirection","app\u002FSIMPLEFORM.php",187,{"type":153,"name":159,"callback":279,"file":276,"line":280},"check_database_migration",188,{"type":153,"name":282,"callback":283,"file":284,"line":193},"template_redirect","handle_preview_request","app\u002FShortcode.php",{"type":188,"name":286,"callback":174,"priority":11,"file":284,"line":287},"script_loader_tag",963,[289,292,294,298,301,304,307,310,313,316,319,323,326,329,332,335,339,342,346,348,352,354,358,362,365,368,371,374,377,381,382,385,386,390,394,396,399,402,404,407,410,413,416,419,422,426,427,431,433,437,441,445,448,450,454,458,462,466,470,474,478,482,486,490,494,498,502,506,508,512,515,517,519,520,523,524,528,529,532],{"action":290,"nopriv":51,"callback":290,"hasNonce":291,"hasCapCheck":51,"file":156,"line":212},"dismiss_pro_upgrade_notice",true,{"action":293,"nopriv":51,"callback":293,"hasNonce":291,"hasCapCheck":51,"file":156,"line":237},"reset_pro_upgrade_notice",{"action":295,"nopriv":51,"callback":296,"hasNonce":291,"hasCapCheck":291,"file":297,"line":270},"simpleform_get_auth_settings","get_settings","app\u002FAjax\u002FAuthSettings.php",{"action":299,"nopriv":51,"callback":300,"hasNonce":291,"hasCapCheck":291,"file":297,"line":157},"simpleform_save_auth_settings","save_settings",{"action":302,"nopriv":51,"callback":303,"hasNonce":291,"hasCapCheck":291,"file":297,"line":161},"simpleform_check_woocommerce","check_woocommerce",{"action":305,"nopriv":51,"callback":306,"hasNonce":291,"hasCapCheck":291,"file":178,"line":212},"simpleform_get_integrations","get_integrations",{"action":308,"nopriv":51,"callback":309,"hasNonce":291,"hasCapCheck":291,"file":178,"line":172},"simpleform_save_integration","save_integration",{"action":311,"nopriv":51,"callback":312,"hasNonce":291,"hasCapCheck":291,"file":178,"line":230},"simpleform_toggle_integration","toggle_integration",{"action":314,"nopriv":51,"callback":315,"hasNonce":291,"hasCapCheck":291,"file":178,"line":217},"simpleform_test_integration","test_integration",{"action":317,"nopriv":51,"callback":318,"hasNonce":291,"hasCapCheck":291,"file":178,"line":237},"simpleform_get_oauth_url","get_oauth_url",{"action":320,"nopriv":51,"callback":321,"hasNonce":291,"hasCapCheck":291,"file":322,"line":172},"simpleform_get_polls","get_polls","app\u002FAjax\u002FPoll.php",{"action":324,"nopriv":51,"callback":325,"hasNonce":291,"hasCapCheck":291,"file":322,"line":230},"simpleform_get_poll","get_poll",{"action":327,"nopriv":51,"callback":328,"hasNonce":291,"hasCapCheck":291,"file":322,"line":217},"simpleform_create_poll","create_poll",{"action":330,"nopriv":51,"callback":331,"hasNonce":291,"hasCapCheck":291,"file":322,"line":237},"simpleform_update_poll","update_poll",{"action":333,"nopriv":51,"callback":334,"hasNonce":291,"hasCapCheck":291,"file":322,"line":179},"simpleform_delete_poll","delete_poll",{"action":336,"nopriv":51,"callback":337,"hasNonce":291,"hasCapCheck":291,"file":322,"line":338},"simpleform_get_poll_results","get_poll_results",42,{"action":340,"nopriv":51,"callback":341,"hasNonce":291,"hasCapCheck":291,"file":322,"line":262},"simpleform_get_poll_submissions","get_poll_submissions",{"action":343,"nopriv":51,"callback":344,"hasNonce":291,"hasCapCheck":51,"file":322,"line":345},"simpleform_submit_poll","submit_poll",46,{"action":343,"nopriv":291,"callback":344,"hasNonce":291,"hasCapCheck":51,"file":322,"line":347},47,{"action":349,"nopriv":51,"callback":350,"hasNonce":291,"hasCapCheck":51,"file":322,"line":351},"simpleform_get_poll_for_frontend","get_poll_for_frontend",48,{"action":349,"nopriv":291,"callback":350,"hasNonce":291,"hasCapCheck":51,"file":322,"line":353},49,{"action":355,"nopriv":51,"callback":356,"hasNonce":291,"hasCapCheck":291,"file":322,"line":357},"simpleform_get_poll_preview_url","get_poll_preview_url",52,{"action":359,"nopriv":51,"callback":360,"hasNonce":291,"hasCapCheck":291,"file":361,"line":172},"simpleform_get_quizzes","get_quizzes","app\u002FAjax\u002FQuiz.php",{"action":363,"nopriv":51,"callback":364,"hasNonce":291,"hasCapCheck":291,"file":361,"line":230},"simpleform_get_quiz","get_quiz",{"action":366,"nopriv":51,"callback":367,"hasNonce":291,"hasCapCheck":291,"file":361,"line":217},"simpleform_create_quiz","create_quiz",{"action":369,"nopriv":51,"callback":370,"hasNonce":291,"hasCapCheck":291,"file":361,"line":237},"simpleform_update_quiz","update_quiz",{"action":372,"nopriv":51,"callback":373,"hasNonce":291,"hasCapCheck":291,"file":361,"line":179},"simpleform_delete_quiz","delete_quiz",{"action":375,"nopriv":51,"callback":376,"hasNonce":291,"hasCapCheck":291,"file":361,"line":338},"simpleform_get_quiz_results","get_quiz_results",{"action":378,"nopriv":51,"callback":379,"hasNonce":291,"hasCapCheck":51,"file":361,"line":380},"simpleform_submit_quiz","submit_quiz",45,{"action":378,"nopriv":291,"callback":379,"hasNonce":291,"hasCapCheck":51,"file":361,"line":345},{"action":383,"nopriv":51,"callback":384,"hasNonce":291,"hasCapCheck":51,"file":361,"line":347},"simpleform_get_quiz_for_frontend","get_quiz_for_frontend",{"action":383,"nopriv":291,"callback":384,"hasNonce":291,"hasCapCheck":51,"file":361,"line":351},{"action":387,"nopriv":51,"callback":388,"hasNonce":291,"hasCapCheck":291,"file":361,"line":389},"simpleform_get_quiz_preview_url","get_quiz_preview_url",51,{"action":391,"nopriv":51,"callback":392,"hasNonce":291,"hasCapCheck":51,"file":393,"line":197},"simpleform_create_form","create","app\u002FAjax\u002FTables.php",{"action":395,"nopriv":51,"callback":300,"hasNonce":291,"hasCapCheck":51,"file":393,"line":164},"simpleform_save_settings",{"action":397,"nopriv":51,"callback":398,"hasNonce":291,"hasCapCheck":51,"file":393,"line":212},"simpleform_get_tables","get_all",{"action":400,"nopriv":51,"callback":401,"hasNonce":291,"hasCapCheck":51,"file":393,"line":172},"simpleform_get_leads","get_all_leads",{"action":403,"nopriv":51,"callback":296,"hasNonce":291,"hasCapCheck":51,"file":393,"line":217},"simpleform_get_settings",{"action":405,"nopriv":51,"callback":406,"hasNonce":291,"hasCapCheck":51,"file":393,"line":179},"simpleform_delete_table","delete",{"action":408,"nopriv":51,"callback":409,"hasNonce":291,"hasCapCheck":51,"file":393,"line":338},"simpleform_delete_leads","delete_leads",{"action":411,"nopriv":51,"callback":412,"hasNonce":291,"hasCapCheck":51,"file":393,"line":242},"simpleform_edit_table","edit",{"action":414,"nopriv":51,"callback":415,"hasNonce":291,"hasCapCheck":51,"file":393,"line":380},"simpleform_save_table","save",{"action":417,"nopriv":51,"callback":418,"hasNonce":291,"hasCapCheck":51,"file":393,"line":347},"simpleform_store_captcha","storecaptchakeys",{"action":420,"nopriv":51,"callback":421,"hasNonce":291,"hasCapCheck":51,"file":393,"line":351},"simpleform_connect_captcha","connectcaptcha",{"action":423,"nopriv":51,"callback":424,"hasNonce":291,"hasCapCheck":51,"file":393,"line":425},"simpleform_table_html","rendertable",50,{"action":423,"nopriv":291,"callback":424,"hasNonce":291,"hasCapCheck":51,"file":393,"line":389},{"action":428,"nopriv":51,"callback":429,"hasNonce":291,"hasCapCheck":51,"file":393,"line":430},"simpleform_get_submit_data","get_submitdata",53,{"action":428,"nopriv":291,"callback":429,"hasNonce":291,"hasCapCheck":51,"file":393,"line":432},54,{"action":434,"nopriv":51,"callback":435,"hasNonce":291,"hasCapCheck":51,"file":393,"line":436},"simpleform_get_pages","get_wordpress_pages",56,{"action":438,"nopriv":51,"callback":439,"hasNonce":291,"hasCapCheck":51,"file":393,"line":440},"simpleform_get_analytics","get_analytics",57,{"action":442,"nopriv":51,"callback":443,"hasNonce":291,"hasCapCheck":51,"file":393,"line":444},"simpleform_get_analytics_summary","get_analytics_summary",58,{"action":446,"nopriv":51,"callback":447,"hasNonce":291,"hasCapCheck":51,"file":393,"line":247},"simpleform_track_event","track_event",{"action":446,"nopriv":291,"callback":447,"hasNonce":291,"hasCapCheck":51,"file":393,"line":449},60,{"action":451,"nopriv":51,"callback":452,"hasNonce":291,"hasCapCheck":51,"file":393,"line":453},"simpleform_get_admin_notifications","get_admin_notifications",63,{"action":455,"nopriv":51,"callback":456,"hasNonce":291,"hasCapCheck":51,"file":393,"line":457},"simpleform_mark_notification_read","mark_notification_read",64,{"action":459,"nopriv":51,"callback":460,"hasNonce":291,"hasCapCheck":51,"file":393,"line":461},"simpleform_get_notification_count","get_notification_count",65,{"action":463,"nopriv":51,"callback":464,"hasNonce":291,"hasCapCheck":51,"file":393,"line":465},"simpleform_mark_all_notifications_read","mark_all_notifications_read",66,{"action":467,"nopriv":51,"callback":468,"hasNonce":291,"hasCapCheck":51,"file":393,"line":469},"simpleform_export_form","export_form",69,{"action":471,"nopriv":51,"callback":472,"hasNonce":291,"hasCapCheck":51,"file":393,"line":473},"simpleform_export_all_forms","export_all_forms",70,{"action":475,"nopriv":51,"callback":476,"hasNonce":291,"hasCapCheck":51,"file":393,"line":477},"simpleform_import_form","import_form",71,{"action":479,"nopriv":51,"callback":480,"hasNonce":291,"hasCapCheck":51,"file":393,"line":481},"simpleform_import_bulk_forms","import_bulk_forms",72,{"action":483,"nopriv":51,"callback":484,"hasNonce":291,"hasCapCheck":51,"file":393,"line":485},"simpleform_clone_form","clone_form",73,{"action":487,"nopriv":51,"callback":488,"hasNonce":291,"hasCapCheck":51,"file":393,"line":489},"simpleform_test_telegram","test_telegram_connection",76,{"action":491,"nopriv":51,"callback":492,"hasNonce":291,"hasCapCheck":51,"file":393,"line":493},"simpleform_save_custom_theme","save_custom_theme",79,{"action":495,"nopriv":51,"callback":496,"hasNonce":291,"hasCapCheck":51,"file":393,"line":497},"simpleform_get_custom_themes","get_custom_themes",80,{"action":499,"nopriv":51,"callback":500,"hasNonce":291,"hasCapCheck":51,"file":393,"line":501},"simpleform_delete_custom_theme","delete_custom_theme",81,{"action":503,"nopriv":51,"callback":504,"hasNonce":291,"hasCapCheck":51,"file":393,"line":505},"simpleform_get_custom_theme_styles","get_custom_theme_styles",82,{"action":503,"nopriv":291,"callback":504,"hasNonce":291,"hasCapCheck":51,"file":393,"line":507},83,{"action":509,"nopriv":51,"callback":510,"hasNonce":291,"hasCapCheck":291,"file":393,"line":511},"simpleform_get_form_preview_url","get_form_preview_url",86,{"action":513,"nopriv":51,"callback":514,"hasNonce":291,"hasCapCheck":51,"file":208,"line":161},"simpleform_submit_comment","handle_comment_submission",{"action":513,"nopriv":291,"callback":514,"hasNonce":291,"hasCapCheck":51,"file":208,"line":516},30,{"action":513,"nopriv":51,"callback":518,"hasNonce":291,"hasCapCheck":51,"file":221,"line":351},"ajax_submit_comment",{"action":513,"nopriv":291,"callback":518,"hasNonce":291,"hasCapCheck":51,"file":221,"line":353},{"action":521,"nopriv":51,"callback":522,"hasNonce":291,"hasCapCheck":51,"file":251,"line":161},"simpleform_wp_login","handle_login",{"action":521,"nopriv":291,"callback":522,"hasNonce":291,"hasCapCheck":51,"file":251,"line":516},{"action":525,"nopriv":51,"callback":526,"hasNonce":291,"hasCapCheck":51,"file":251,"line":527},"simpleform_wp_register","handle_registration",31,{"action":525,"nopriv":291,"callback":526,"hasNonce":291,"hasCapCheck":51,"file":251,"line":193},{"action":530,"nopriv":51,"callback":531,"hasNonce":291,"hasCapCheck":51,"file":251,"line":197},"simpleform_check_username","check_username_availability",{"action":530,"nopriv":291,"callback":531,"hasNonce":291,"hasCapCheck":51,"file":251,"line":164},[],[535,538,541],{"tag":536,"callback":537,"file":284,"line":157},"simple_form","shortcode",{"tag":539,"callback":540,"file":284,"line":161},"simple_quiz","quiz_shortcode",{"tag":542,"callback":543,"file":284,"line":516},"simple_poll","poll_shortcode",[],{"dangerousFunctions":546,"sqlUsage":547,"outputEscaping":549,"fileOperations":567,"externalRequests":568,"nonceChecks":569,"capabilityChecks":161,"bundledLibraries":570},[],{"prepared":121,"raw":29,"locations":548},[],{"escaped":550,"rawEcho":49,"locations":551},555,[552,555,557,559,561,563,565],{"file":156,"line":553,"context":554},327,"raw output",{"file":204,"line":556,"context":554},485,{"file":221,"line":558,"context":554},471,{"file":221,"line":560,"context":554},479,{"file":251,"line":562,"context":554},435,{"file":251,"line":564,"context":554},451,{"file":284,"line":566,"context":554},163,4,21,74,[571],{"name":572,"version":573,"knownCves":574},"Freemius","1.0",[],[576,594,602,619,629,643,655,671,690,710,739,761,789,799,809,828,844,868,879,891,906,917,928,942,971,990],{"entryPoint":577,"graph":578,"unsanitizedCount":593,"severity":42},"formdeck_cf7_send_message (app\u002FContactformseven.php:100)",{"nodes":579,"edges":591},[580,585],{"id":581,"type":582,"label":583,"file":192,"line":584},"n0","source","$_SERVER (x2)",165,{"id":586,"type":587,"label":588,"file":192,"line":589,"wp_function":590},"n1","sink","wp_remote_get() [SSRF]",169,"wp_remote_get",[592],{"from":581,"to":586,"sanitized":51},2,{"entryPoint":595,"graph":596,"unsanitizedCount":593,"severity":42},"\u003CContactformseven> (app\u002FContactformseven.php:0)",{"nodes":597,"edges":600},[598,599],{"id":581,"type":582,"label":583,"file":192,"line":584},{"id":586,"type":587,"label":588,"file":192,"line":589,"wp_function":590},[601],{"from":581,"to":586,"sanitized":51},{"entryPoint":603,"graph":604,"unsanitizedCount":14,"severity":42},"handle_preview_request (app\u002FShortcode.php:40)",{"nodes":605,"edges":616},[606,609,612],{"id":581,"type":582,"label":607,"file":284,"line":608},"$_GET (x3)",55,{"id":586,"type":610,"label":611,"file":284,"line":608},"transform","→ render_preview_page()",{"id":613,"type":587,"label":614,"file":284,"line":566,"wp_function":615},"n2","echo() [XSS]","echo",[617,618],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":620,"graph":621,"unsanitizedCount":14,"severity":42},"\u003CShortcode> (app\u002FShortcode.php:0)",{"nodes":622,"edges":626},[623,624,625],{"id":581,"type":582,"label":607,"file":284,"line":608},{"id":586,"type":610,"label":611,"file":284,"line":608},{"id":613,"type":587,"label":614,"file":284,"line":566,"wp_function":615},[627,628],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":630,"graph":631,"unsanitizedCount":29,"severity":642},"get_quiz_results (app\u002FAjax\u002FQuiz.php:505)",{"nodes":632,"edges":640},[633,636],{"id":581,"type":582,"label":634,"file":361,"line":635},"$_POST",517,{"id":586,"type":587,"label":637,"file":361,"line":638,"wp_function":639},"get_results() [SQLi]",527,"get_results",[641],{"from":581,"to":586,"sanitized":291},"low",{"entryPoint":644,"graph":645,"unsanitizedCount":29,"severity":642},"save_settings (app\u002FAjax\u002FTables.php:237)",{"nodes":646,"edges":653},[647,649],{"id":581,"type":582,"label":634,"file":393,"line":648},262,{"id":586,"type":587,"label":650,"file":393,"line":651,"wp_function":652},"update_option() [Settings Manipulation]",265,"update_option",[654],{"from":581,"to":586,"sanitized":291},{"entryPoint":656,"graph":657,"unsanitizedCount":28,"severity":670},"get_poll (app\u002FAjax\u002FPoll.php:113)",{"nodes":658,"edges":667},[659,661,663],{"id":581,"type":582,"label":634,"file":322,"line":660},132,{"id":586,"type":610,"label":662,"file":322,"line":660},"→ get()",{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},"get_row() [SQLi]","app\u002FQuiz\u002FQuizManager.php","get_row",[668,669],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},"high",{"entryPoint":672,"graph":673,"unsanitizedCount":28,"severity":670},"get_poll_results (app\u002FAjax\u002FPoll.php:309)",{"nodes":674,"edges":686},[675,678,680,682,684],{"id":581,"type":582,"label":676,"file":322,"line":677},"$_POST (x2)",322,{"id":586,"type":587,"label":637,"file":322,"line":679,"wp_function":639},328,{"id":613,"type":582,"label":634,"file":322,"line":681},331,{"id":683,"type":610,"label":662,"file":322,"line":681},"n3",{"id":685,"type":587,"label":664,"file":665,"line":436,"wp_function":666},"n4",[687,688,689],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"entryPoint":691,"graph":692,"unsanitizedCount":593,"severity":670},"get_poll_submissions (app\u002FAjax\u002FPoll.php:406)",{"nodes":693,"edges":705},[694,696,697,698,700,702],{"id":581,"type":582,"label":634,"file":322,"line":695},426,{"id":586,"type":610,"label":662,"file":322,"line":695},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":683,"type":582,"label":634,"file":322,"line":699},452,{"id":685,"type":610,"label":701,"file":322,"line":699},"→ get_submissions()",{"id":703,"type":587,"label":637,"file":665,"line":704,"wp_function":639},"n5",150,[706,707,708,709],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":685,"to":703,"sanitized":51},{"entryPoint":711,"graph":712,"unsanitizedCount":593,"severity":670},"submit_poll (app\u002FAjax\u002FPoll.php:481)",{"nodes":713,"edges":733},[714,716,718,720,721,722,724,727],{"id":581,"type":582,"label":634,"file":322,"line":715},489,{"id":586,"type":587,"label":637,"file":322,"line":717,"wp_function":639},557,{"id":613,"type":582,"label":634,"file":322,"line":719},503,{"id":683,"type":610,"label":662,"file":322,"line":719},{"id":685,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":703,"type":582,"label":634,"file":322,"line":723},516,{"id":725,"type":610,"label":726,"file":322,"line":723},"n6","→ has_user_voted()",{"id":728,"type":587,"label":729,"file":730,"line":731,"wp_function":732},"n7","get_var() [SQLi]","app\u002FPoll\u002FPollManager.php",286,"get_var",[734,735,736,737,738],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":703,"to":725,"sanitized":51},{"from":725,"to":728,"sanitized":51},{"entryPoint":740,"graph":741,"unsanitizedCount":593,"severity":670},"get_poll_for_frontend (app\u002FAjax\u002FPoll.php:566)",{"nodes":742,"edges":755},[743,745,747,749,750,751,753,754],{"id":581,"type":582,"label":676,"file":322,"line":744},574,{"id":586,"type":587,"label":637,"file":322,"line":746,"wp_function":639},592,{"id":613,"type":582,"label":634,"file":322,"line":748},580,{"id":683,"type":610,"label":662,"file":322,"line":748},{"id":685,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":703,"type":582,"label":634,"file":322,"line":752},587,{"id":725,"type":610,"label":726,"file":322,"line":752},{"id":728,"type":587,"label":729,"file":730,"line":731,"wp_function":732},[756,757,758,759,760],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":703,"to":725,"sanitized":51},{"from":725,"to":728,"sanitized":51},{"entryPoint":762,"graph":763,"unsanitizedCount":788,"severity":670},"\u003CPoll> (app\u002FAjax\u002FPoll.php:0)",{"nodes":764,"edges":780},[765,767,768,769,770,771,772,773,774,776,778],{"id":581,"type":582,"label":766,"file":322,"line":677},"$_POST (x5)",{"id":586,"type":587,"label":637,"file":322,"line":679,"wp_function":639},{"id":613,"type":582,"label":766,"file":322,"line":660},{"id":683,"type":610,"label":662,"file":322,"line":660},{"id":685,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":703,"type":582,"label":634,"file":322,"line":699},{"id":725,"type":610,"label":701,"file":322,"line":699},{"id":728,"type":587,"label":637,"file":665,"line":704,"wp_function":639},{"id":775,"type":582,"label":676,"file":322,"line":723},"n8",{"id":777,"type":610,"label":726,"file":322,"line":723},"n9",{"id":779,"type":587,"label":729,"file":730,"line":731,"wp_function":732},"n10",[781,782,783,784,785,786,787],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":703,"to":725,"sanitized":51},{"from":725,"to":728,"sanitized":51},{"from":775,"to":777,"sanitized":51},{"from":777,"to":779,"sanitized":51},8,{"entryPoint":790,"graph":791,"unsanitizedCount":28,"severity":670},"get_quiz (app\u002FAjax\u002FQuiz.php:112)",{"nodes":792,"edges":796},[793,794,795],{"id":581,"type":582,"label":634,"file":361,"line":122},{"id":586,"type":610,"label":662,"file":361,"line":122},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[797,798],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":800,"graph":801,"unsanitizedCount":28,"severity":670},"get_quiz_submissions (app\u002FAjax\u002FQuiz.php:308)",{"nodes":802,"edges":806},[803,804,805],{"id":581,"type":582,"label":634,"file":361,"line":553},{"id":586,"type":610,"label":701,"file":361,"line":553},{"id":613,"type":587,"label":637,"file":665,"line":704,"wp_function":639},[807,808],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":810,"graph":811,"unsanitizedCount":593,"severity":670},"submit_quiz (app\u002FAjax\u002FQuiz.php:335)",{"nodes":812,"edges":823},[813,815,816,817,819,821],{"id":581,"type":582,"label":634,"file":361,"line":814},356,{"id":586,"type":610,"label":662,"file":361,"line":814},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":683,"type":582,"label":634,"file":361,"line":818},369,{"id":685,"type":610,"label":820,"file":361,"line":818},"→ has_user_taken_quiz()",{"id":703,"type":587,"label":729,"file":665,"line":822,"wp_function":732},233,[824,825,826,827],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":685,"to":703,"sanitized":51},{"entryPoint":829,"graph":830,"unsanitizedCount":593,"severity":670},"get_quiz_for_frontend (app\u002FAjax\u002FQuiz.php:429)",{"nodes":831,"edges":839},[832,834,835,836,837,838],{"id":581,"type":582,"label":634,"file":361,"line":833},444,{"id":586,"type":610,"label":662,"file":361,"line":833},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":683,"type":582,"label":634,"file":361,"line":564},{"id":685,"type":610,"label":820,"file":361,"line":564},{"id":703,"type":587,"label":729,"file":665,"line":822,"wp_function":732},[840,841,842,843],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":685,"to":703,"sanitized":51},{"entryPoint":845,"graph":846,"unsanitizedCount":53,"severity":670},"\u003CQuiz> (app\u002FAjax\u002FQuiz.php:0)",{"nodes":847,"edges":860},[848,849,850,852,853,854,855,856,857,858,859],{"id":581,"type":582,"label":634,"file":361,"line":635},{"id":586,"type":587,"label":637,"file":361,"line":638,"wp_function":639},{"id":613,"type":582,"label":851,"file":361,"line":122},"$_POST (x3)",{"id":683,"type":610,"label":662,"file":361,"line":122},{"id":685,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":703,"type":582,"label":634,"file":361,"line":553},{"id":725,"type":610,"label":701,"file":361,"line":553},{"id":728,"type":587,"label":637,"file":665,"line":704,"wp_function":639},{"id":775,"type":582,"label":676,"file":361,"line":818},{"id":777,"type":610,"label":820,"file":361,"line":818},{"id":779,"type":587,"label":729,"file":665,"line":822,"wp_function":732},[861,862,863,864,865,866,867],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"from":703,"to":725,"sanitized":51},{"from":725,"to":728,"sanitized":51},{"from":775,"to":777,"sanitized":51},{"from":777,"to":779,"sanitized":51},{"entryPoint":869,"graph":870,"unsanitizedCount":28,"severity":670},"edit (app\u002FAjax\u002FTables.php:450)",{"nodes":871,"edges":876},[872,874,875],{"id":581,"type":582,"label":634,"file":393,"line":873},465,{"id":586,"type":610,"label":662,"file":393,"line":873},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[877,878],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":880,"graph":881,"unsanitizedCount":28,"severity":670},"rendertable (app\u002FAjax\u002FTables.php:708)",{"nodes":882,"edges":888},[883,886,887],{"id":581,"type":582,"label":884,"file":393,"line":885},"$_GET",734,{"id":586,"type":610,"label":662,"file":393,"line":885},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[889,890],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":892,"graph":893,"unsanitizedCount":28,"severity":670},"get_submitdata (app\u002FAjax\u002FTables.php:757)",{"nodes":894,"edges":902},[895,896,898,900,901],{"id":581,"type":582,"label":583,"file":393,"line":54},{"id":586,"type":587,"label":588,"file":393,"line":897,"wp_function":590},804,{"id":613,"type":582,"label":634,"file":393,"line":899},971,{"id":683,"type":610,"label":662,"file":393,"line":899},{"id":685,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[903,904,905],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":51},{"from":683,"to":685,"sanitized":51},{"entryPoint":907,"graph":908,"unsanitizedCount":28,"severity":670},"export_form (app\u002FAjax\u002FTables.php:1846)",{"nodes":909,"edges":914},[910,912,913],{"id":581,"type":582,"label":634,"file":393,"line":911},1861,{"id":586,"type":610,"label":662,"file":393,"line":911},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[915,916],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":918,"graph":919,"unsanitizedCount":28,"severity":670},"clone_form (app\u002FAjax\u002FTables.php:2107)",{"nodes":920,"edges":925},[921,923,924],{"id":581,"type":582,"label":634,"file":393,"line":922},2122,{"id":586,"type":610,"label":662,"file":393,"line":922},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[926,927],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":929,"graph":930,"unsanitizedCount":28,"severity":670},"get_custom_theme_styles (app\u002FAjax\u002FTables.php:2529)",{"nodes":931,"edges":939},[932,934,936],{"id":581,"type":582,"label":634,"file":393,"line":933},2544,{"id":586,"type":610,"label":935,"file":393,"line":933},"→ get_custom_theme()",{"id":613,"type":587,"label":664,"file":937,"line":938,"wp_function":666},"app\u002FDatabase\u002FTable.php",619,[940,941],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"entryPoint":943,"graph":944,"unsanitizedCount":53,"severity":670},"\u003CTables> (app\u002FAjax\u002FTables.php:0)",{"nodes":945,"edges":962},[946,947,948,949,950,952,953,954,955,956,957,958,960],{"id":581,"type":582,"label":676,"file":393,"line":648},{"id":586,"type":587,"label":650,"file":393,"line":651,"wp_function":652},{"id":613,"type":582,"label":583,"file":393,"line":54},{"id":683,"type":587,"label":588,"file":393,"line":897,"wp_function":590},{"id":685,"type":582,"label":951,"file":393,"line":873},"$_POST (x4)",{"id":703,"type":610,"label":662,"file":393,"line":873},{"id":725,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":728,"type":582,"label":884,"file":393,"line":885},{"id":775,"type":610,"label":662,"file":393,"line":885},{"id":777,"type":587,"label":664,"file":665,"line":436,"wp_function":666},{"id":779,"type":582,"label":634,"file":393,"line":933},{"id":959,"type":610,"label":935,"file":393,"line":933},"n11",{"id":961,"type":587,"label":664,"file":937,"line":938,"wp_function":666},"n12",[963,964,965,966,967,968,969,970],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":291},{"from":685,"to":703,"sanitized":51},{"from":703,"to":725,"sanitized":51},{"from":728,"to":775,"sanitized":51},{"from":775,"to":777,"sanitized":51},{"from":779,"to":959,"sanitized":51},{"from":959,"to":961,"sanitized":51},{"entryPoint":972,"graph":973,"unsanitizedCount":28,"severity":670},"\u003CCommentForm> (app\u002FIntegrations\u002FCommentForm.php:0)",{"nodes":974,"edges":985},[975,976,978,979,981,983,984],{"id":581,"type":582,"label":634,"file":208,"line":453},{"id":586,"type":587,"label":729,"file":208,"line":977,"wp_function":732},186,{"id":613,"type":582,"label":634,"file":208,"line":465},{"id":683,"type":587,"label":614,"file":208,"line":980,"wp_function":615},299,{"id":685,"type":582,"label":634,"file":208,"line":982},333,{"id":703,"type":610,"label":662,"file":208,"line":982},{"id":725,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[986,987,988,989],{"from":581,"to":586,"sanitized":291},{"from":613,"to":683,"sanitized":291},{"from":685,"to":703,"sanitized":51},{"from":703,"to":725,"sanitized":51},{"entryPoint":991,"graph":992,"unsanitizedCount":28,"severity":670},"\u003CWordPressAuth> (app\u002FIntegrations\u002FWordPressAuth.php:0)",{"nodes":993,"edges":998},[994,996,997],{"id":581,"type":582,"label":634,"file":251,"line":995},396,{"id":586,"type":610,"label":662,"file":251,"line":995},{"id":613,"type":587,"label":664,"file":665,"line":436,"wp_function":666},[999,1000],{"from":581,"to":586,"sanitized":51},{"from":586,"to":613,"sanitized":51},{"summary":1002,"deductions":1003},"The \"simple-form\" plugin v3.9.0 presents a mixed security posture.  On the positive side, the static analysis indicates strong adherence to good security practices, with all identified entry points (AJAX handlers, REST API routes, and shortcodes) appearing to have authentication checks. The plugin also demonstrates excellent SQL query sanitization with 100% prepared statements and a very high rate of output escaping (99%). Nonce checks and capability checks are also prevalent, suggesting an effort to protect against common web vulnerabilities.  However, the taint analysis reveals a significant concern with 24 out of 26 analyzed flows having unsanitized paths, including 20 flows classified as high severity. This indicates a high potential for vulnerabilities where user-supplied input is not properly validated or neutralized before being used in sensitive operations, potentially leading to path traversal or other file system manipulation issues.\n\nThe vulnerability history shows one past medium-severity CVE related to Cross-Site Scripting (XSS) in 2024. While there are no currently unpatched vulnerabilities, the occurrence of XSS in the past, combined with the high number of unsanitized path flows, suggests a persistent challenge in input validation.  The overall conclusion is that while the plugin has robust defenses in place for common web attacks like SQL injection and basic XSS, the significant number of high-severity unsanitized path flows in the taint analysis represents a critical area of concern that requires immediate attention.  The presence of the Freemius v1.0 bundled library could also be a potential risk if it's outdated and contains known vulnerabilities, although no specific information on this is provided.",[1004,1007,1009],{"reason":1005,"points":1006},"High severity taint flows with unsanitized paths",15,{"reason":1008,"points":788},"Medium severity vulnerability history",{"reason":1010,"points":14},"Bundled library (Freemius v1.0) potentially outdated","2026-04-16T12:23:35.241Z",{"wat":1013,"direct":1030},{"assetPaths":1014,"generatorPatterns":1020,"scriptPaths":1021,"versionParams":1024},[1015,1016,1017,1018,1019],"\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Fassets\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Freact\u002Fbuild\u002Findex.css","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Freact\u002Fbuild\u002Findex.js","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Fassets\u002Fpublic\u002Fscripts\u002Fbackend\u002Fadmin.min.js","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Fassets\u002Fpublic\u002Fscripts\u002Fquiz-frontend.min.js",[],[1022,1023],"\u002F\u002Fcheckout.freemius.com\u002Fcheckout.min.js","\u002F\u002Fcdnjs.cloudflare.com\u002Fajax\u002Flibs\u002Ffont-awesome\u002F6.0.0-beta3\u002Fcss\u002Fall.min.css",[1025,1026,1027,1028,1029],"\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Fassets\u002Fadmin.css?ver=","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Freact\u002Fbuild\u002Findex.css?ver=","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Freact\u002Fbuild\u002Findex.js?ver=","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Fassets\u002Fpublic\u002Fscripts\u002Fbackend\u002Fadmin.min.js?ver=","\u002Fwp-content\u002Fplugins\u002Fsimple-form\u002Fassets\u002Fpublic\u002Fscripts\u002Fquiz-frontend.min.js?ver=",{"cssClasses":1031,"htmlComments":1033,"htmlAttributes":1034,"restEndpoints":1043,"jsGlobals":1044,"shortcodeOutput":1046},[1032],"sf_admin_wrapper",[],[1035,1036,1037,1038,1039,1040,1041,1042],"data-nonce","data-admin-ajax","data-ispro","data-turnstile","data-tables","data-formsettings","data-auth-form-ids","data-ran-setup-wizard",[],[1045],"SIMPLEFORM_APP",[],{"error":291,"url":1048,"statusCode":1049,"statusMessage":1050,"message":1050},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsimple-form\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":568,"versions":1052},[1053,1058,1065,1072,1079,1086,1093,1100,1107,1114,1121,1128,1135,1142,1149,1156,1163,1170,1177,1184,1192],{"version":6,"download_url":26,"svn_tag_url":1054,"released_at":39,"has_diff":51,"diff_files_changed":1055,"diff_lines":39,"trac_diff_url":1056,"vulnerabilities":1057,"is_current":291},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.9.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.8.1&new_path=%2Fsimple-form%2Ftags%2F3.9.0",[],{"version":1059,"download_url":1060,"svn_tag_url":1061,"released_at":39,"has_diff":51,"diff_files_changed":1062,"diff_lines":39,"trac_diff_url":1063,"vulnerabilities":1064,"is_current":51},"3.8.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.8.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.8.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.8.0&new_path=%2Fsimple-form%2Ftags%2F3.8.1",[],{"version":1066,"download_url":1067,"svn_tag_url":1068,"released_at":39,"has_diff":51,"diff_files_changed":1069,"diff_lines":39,"trac_diff_url":1070,"vulnerabilities":1071,"is_current":51},"3.8.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.8.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.8.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.7.3&new_path=%2Fsimple-form%2Ftags%2F3.8.0",[],{"version":1073,"download_url":1074,"svn_tag_url":1075,"released_at":39,"has_diff":51,"diff_files_changed":1076,"diff_lines":39,"trac_diff_url":1077,"vulnerabilities":1078,"is_current":51},"3.7.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.7.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.7.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.7.2&new_path=%2Fsimple-form%2Ftags%2F3.7.3",[],{"version":1080,"download_url":1081,"svn_tag_url":1082,"released_at":39,"has_diff":51,"diff_files_changed":1083,"diff_lines":39,"trac_diff_url":1084,"vulnerabilities":1085,"is_current":51},"3.7.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.7.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.7.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.7.1&new_path=%2Fsimple-form%2Ftags%2F3.7.2",[],{"version":1087,"download_url":1088,"svn_tag_url":1089,"released_at":39,"has_diff":51,"diff_files_changed":1090,"diff_lines":39,"trac_diff_url":1091,"vulnerabilities":1092,"is_current":51},"3.7.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.7.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.7.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.7.0&new_path=%2Fsimple-form%2Ftags%2F3.7.1",[],{"version":1094,"download_url":1095,"svn_tag_url":1096,"released_at":39,"has_diff":51,"diff_files_changed":1097,"diff_lines":39,"trac_diff_url":1098,"vulnerabilities":1099,"is_current":51},"3.7.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.7.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.7.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.6.1&new_path=%2Fsimple-form%2Ftags%2F3.7.0",[],{"version":1101,"download_url":1102,"svn_tag_url":1103,"released_at":39,"has_diff":51,"diff_files_changed":1104,"diff_lines":39,"trac_diff_url":1105,"vulnerabilities":1106,"is_current":51},"3.6.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.6.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.6.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.6.0&new_path=%2Fsimple-form%2Ftags%2F3.6.1",[],{"version":1108,"download_url":1109,"svn_tag_url":1110,"released_at":39,"has_diff":51,"diff_files_changed":1111,"diff_lines":39,"trac_diff_url":1112,"vulnerabilities":1113,"is_current":51},"3.6.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.6.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.6.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.5.3&new_path=%2Fsimple-form%2Ftags%2F3.6.0",[],{"version":1115,"download_url":1116,"svn_tag_url":1117,"released_at":39,"has_diff":51,"diff_files_changed":1118,"diff_lines":39,"trac_diff_url":1119,"vulnerabilities":1120,"is_current":51},"3.5.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.5.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.5.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.5.2&new_path=%2Fsimple-form%2Ftags%2F3.5.3",[],{"version":1122,"download_url":1123,"svn_tag_url":1124,"released_at":39,"has_diff":51,"diff_files_changed":1125,"diff_lines":39,"trac_diff_url":1126,"vulnerabilities":1127,"is_current":51},"3.5.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.5.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.5.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.5.1&new_path=%2Fsimple-form%2Ftags%2F3.5.2",[],{"version":1129,"download_url":1130,"svn_tag_url":1131,"released_at":39,"has_diff":51,"diff_files_changed":1132,"diff_lines":39,"trac_diff_url":1133,"vulnerabilities":1134,"is_current":51},"3.5.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.5.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.5.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.5.0&new_path=%2Fsimple-form%2Ftags%2F3.5.1",[],{"version":1136,"download_url":1137,"svn_tag_url":1138,"released_at":39,"has_diff":51,"diff_files_changed":1139,"diff_lines":39,"trac_diff_url":1140,"vulnerabilities":1141,"is_current":51},"3.5.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.5.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.5.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.4.0&new_path=%2Fsimple-form%2Ftags%2F3.5.0",[],{"version":1143,"download_url":1144,"svn_tag_url":1145,"released_at":39,"has_diff":51,"diff_files_changed":1146,"diff_lines":39,"trac_diff_url":1147,"vulnerabilities":1148,"is_current":51},"3.4.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.4.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.4.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.3.4&new_path=%2Fsimple-form%2Ftags%2F3.4.0",[],{"version":1150,"download_url":1151,"svn_tag_url":1152,"released_at":39,"has_diff":51,"diff_files_changed":1153,"diff_lines":39,"trac_diff_url":1154,"vulnerabilities":1155,"is_current":51},"3.3.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.3.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.3.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.3.3&new_path=%2Fsimple-form%2Ftags%2F3.3.4",[],{"version":1157,"download_url":1158,"svn_tag_url":1159,"released_at":39,"has_diff":51,"diff_files_changed":1160,"diff_lines":39,"trac_diff_url":1161,"vulnerabilities":1162,"is_current":51},"3.3.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.3.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.3.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.3.2&new_path=%2Fsimple-form%2Ftags%2F3.3.3",[],{"version":1164,"download_url":1165,"svn_tag_url":1166,"released_at":39,"has_diff":51,"diff_files_changed":1167,"diff_lines":39,"trac_diff_url":1168,"vulnerabilities":1169,"is_current":51},"3.3.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.3.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.3.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.3.1&new_path=%2Fsimple-form%2Ftags%2F3.3.2",[],{"version":1171,"download_url":1172,"svn_tag_url":1173,"released_at":39,"has_diff":51,"diff_files_changed":1174,"diff_lines":39,"trac_diff_url":1175,"vulnerabilities":1176,"is_current":51},"3.3.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.3.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.3.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F3.0.0&new_path=%2Fsimple-form%2Ftags%2F3.3.1",[],{"version":1178,"download_url":1179,"svn_tag_url":1180,"released_at":39,"has_diff":51,"diff_files_changed":1181,"diff_lines":39,"trac_diff_url":1182,"vulnerabilities":1183,"is_current":51},"3.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.3.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F3.0.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F2.0.0&new_path=%2Fsimple-form%2Ftags%2F3.0.0",[],{"version":1185,"download_url":1186,"svn_tag_url":1187,"released_at":39,"has_diff":51,"diff_files_changed":1188,"diff_lines":39,"trac_diff_url":1189,"vulnerabilities":1190,"is_current":51},"2.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.2.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F2.0.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsimple-form%2Ftags%2F1.0.0&new_path=%2Fsimple-form%2Ftags%2F2.0.0",[1191],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41},{"version":1193,"download_url":1194,"svn_tag_url":1195,"released_at":39,"has_diff":51,"diff_files_changed":1196,"diff_lines":39,"trac_diff_url":39,"vulnerabilities":1197,"is_current":51},"1.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-form.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsimple-form\u002Ftags\u002F1.0.0\u002F",[],[1198],{"id":35,"url_slug":36,"title":37,"severity":42,"cvss_score":43,"vuln_type":45,"patched_in_version":41}]