[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f6TPu6DHsOxQEmDE9reYpKBbBsQrNLeRfrwqTV4cCZl4":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":36,"analysis":139,"fingerprints":311},"ebook-woohook","eBook WooSell","4.1.9","looknear","https:\u002F\u002Fprofiles.wordpress.org\u002Flooknear\u002F","\u003Cp>A plugin for easy and safely distribute epub3 books for DRM reading – using EpubSystems Ereading applications.\u003Cbr \u002F>\nDo not upload your digital books into your website. sell them as virtual products and let us do the rest.\u003Cbr \u002F>\nAfter installing the plugin, follow the instructions that we sent to you when you opened a publisher account with epubsystems.com\u003Cbr \u002F>\nThe eBooks that you sell will be delivered to your client’s reading applications.\u003C\u002Fp>\n\u003Cp>The plugin is using woocommerce hooks to communicated with EpubSystems servers and preform the eBooks delivery to your client.\u003Cbr \u002F>\nContact us on \u003Ca href=\"https:\u002F\u002Fwww.epubsystems.com\" rel=\"nofollow ugc\">epubsystems.com\u003C\u002Fa> for more information.\u003C\u002Fp>\n","EBooks distribution plugin for woocommerce. Enable you to sell epub3 ebooks directly to EpubSystems cloud and E-reading Apps.",40,2609,0,"2023-09-13T21:04:00.000Z","6.3.8","4.7","",[19,20,21,22,23],"digital-books","epub","epub3","ereading","publishing","https:\u002F\u002Fwww.epubsystems.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Febook-woohook.4.1.9.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":26,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},2,240,30,84,"2026-04-04T15:23:45.523Z",[37,63,85,106,121],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":59,"download_link":60,"security_score":47,"vuln_count":61,"unpatched_count":13,"last_vuln_date":62,"fetched_at":28},"wp-auto-republish","RevivePress – Keep your Old Content Evergreen","1.5.8","Sayan Datta","https:\u002F\u002Fprofiles.wordpress.org\u002Finfosatech\u002F","\u003Cp>RevivePress, the all-in-one tool for republishing & cloning old posts and pages which push old posts to your front page, the top of archive pages, and back into RSS feeds. Ideal for sites with a large repository of evergreen content.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fapi.wprevivepress.com\u002Fpremium-demo\" rel=\"nofollow ugc\">Premium Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Get Premium\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Like the RevivePress plugin? Consider leaving a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwp-auto-republish\u002Freviews\u002F#new-post\" rel=\"ugc\">5 star review\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Why would you want to do this? Here are a few reasons:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>New visitors to your site haven’t seen your old content. \u003Cstrong>This will help them discover it.\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Old content won’t show up in date-based searches on search engines, but resetting the date can make them \u003Cstrong>look fresh again\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>People \u003Cstrong>like to share and link to new content, \u003C\u002Fstrong>and they determine that by looking at the publication date.\u003C\u002Fli>\n\u003Cli>It will highlight older posts by moving them back to \u003Cstrong>front page and in the RSS feed\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>RevivePress will improve your \u003Cstrong>blog visibility, traffic and SEO\u003C\u002Fstrong>!\u003C\u002Fli>\n\u003Cli>And also \u003Cstrong>Google likes updated content\u003C\u002Fstrong> if it’s done right.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>What does this plugin do?\u003C\u002Fh3>\n\u003Cp>This plugin helps revive old posts by resetting the published date to the current date and push old posts to your front page, the top of archive pages, and back into RSS feeds.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: All basic functionality is FREE. Features such as single post republishing, auto social share, OneSignal Support, repeated republishing & triggering publish events are available in the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Premium Edition\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Automatically republish your all posts.\u003C\u002Fli>\n\u003Cli>Set minimum republish interval and randomness interval.\u003C\u002Fli>\n\u003Cli>Display original publication date Before\u002FAfter post.\u003C\u002Fli>\n\u003Cli>Exclude or include posts by category or tags.\u003C\u002Fli>\n\u003Cli>Force exclude\u002Finclude posts by their ID.\u003C\u002Fli>\n\u003Cli>Can select post in ASC \u002F DESC order.\u003C\u002Fli>\n\u003Cli>Compatible with any timezone.\u003C\u002Fli>\n\u003Cli>Supports Indexing API by Rank Math.\u003C\u002Fli>\n\u003Cli>Automatically purge site cache (limited) after republishing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Premium Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Supports all free version features.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Social Media Share\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Custom Post Types support.\u003C\u002Fli>\n\u003Cli>Custom Taxonomies support.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Individual Post Republishing (also supports repeated)\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Republish Per Post Basis.\u003C\u002Fli>\n\u003Cli>Date & Time Based Republishing.\u003C\u002Fli>\n\u003Cli>Automatic Social Media Share.\u003C\u002Fli>\n\u003Cli>Custom Post Republish Interval.\u003C\u002Fli>\n\u003Cli>Set Custom Title for each Republish Event.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full WPML & Polylang Compatibility\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Indexing API Plugin Support.\u003C\u002Fli>\n\u003Cli>Automatic Site or Single Post Cache Purge Support (supports most of the cache plugins and hosting platforms)\u003C\u002Fli>\n\u003Cli>Changing Post Status after Republish.\u003C\u002Fli>\n\u003Cli>One Click Republish & Social Share.\u003C\u002Fli>\n\u003Cli>Email Notification upon Republishing.\u003C\u002Fli>\n\u003Cli>Custom Date Range for Republishing.\u003C\u002Fli>\n\u003Cli>Change Post Status after Last Republish.\u003C\u002Fli>\n\u003Cli>WordPress Sticky Posts Support.\u003C\u002Fli>\n\u003Cli>OneSignal Push Notification Support.\u003C\u002Fli>\n\u003Cli>Show all republished history in logs.\u003C\u002Fli>\n\u003Cli>Can Change the Post Name\u002FURL on Every Republish.\u003C\u002Fli>\n\u003Cli>Shows all single upcoming republication in a dashboard widget.\u003C\u002Fli>\n\u003Cli>Shows Republication Info in an Admin Column.\u003C\u002Fli>\n\u003Cli>Can hide last original published info from frontend.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Upgrade to RevivePress Premium\u003C\u002Fa> now. You can also upgrade to Premium Version directly from your dashboard.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Free and Premium Support\u003C\u002Fh3>\n\u003Cp>Support for the RevivePress plugin on the WordPress forums is free.\u003C\u002Fp>\n\u003Cp>Premium world-class support is available via email to all \u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">RevivePress Premium\u003C\u002Fa> customers.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: Paid customers support is always given priority over free support. Paid customers support is provided via one-to-one email. \u003Ca href=\"https:\u002F\u002Fwprevivepress.com\u002Fpricing\u002F?utm_source=landing&utm_medium=wporg\" rel=\"nofollow ugc\">Upgrade to Premium\u003C\u002Fa> to benefit from priority support.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin is tested with W3 Total Cache, WP Super Cache, WP Rocket, WP Fastest Cache, Cachify, Comet Cache, Zen Cache, LiteSpeed Cache, SG Optimizer, HyperCache, Cache Enabler, Swift Performance Lite, Nginx Cache, Proxy Cache, Nginx Helper Cache, Autoptimize, Breeze (Cloudways), Godaddy Managed WordPress Hosting and WP Engine and fully compatible with WordPress Version 5.2 and beyond and also compatible with any WordPress theme.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Community support via the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwp-auto-republish\" rel=\"ugc\">support forums\u003C\u002Fa> at WordPress.org.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Active development of this plugin is handled \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fiamsayan\u002Fwp-auto-republish\u002F\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Feel free to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fiamsayan\u002Fwp-auto-republish\u002F\" rel=\"nofollow ugc\">fork the project on GitHub\u003C\u002Fa> and submit your contributions via pull request.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Simplified Chinese (zh_CN) by \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fcmhello\" rel=\"nofollow ugc\">Changmeng Hu\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","RevivePress, the all-in-one tool for republishing & cloning old posts and pages which push old posts to your front page, the top of archive pages, &hellip;",6000,235036,92,115,"2024-12-27T15:56:00.000Z","6.7.5","5.2","7.3",[54,55,56,57,58],"old-post","old-posts","repost","republish","republishing","https:\u002F\u002Fwprevivepress.com?utm_source=landing&utm_medium=plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-auto-republish.1.5.8.zip",1,"2024-03-19 00:00:00",{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":73,"num_ratings":74,"last_updated":75,"tested_up_to":76,"requires_at_least":77,"requires_php":17,"tags":78,"homepage":81,"download_link":82,"security_score":83,"vuln_count":61,"unpatched_count":13,"last_vuln_date":84,"fetched_at":28},"republish-old-posts","Republish Old Posts","1.27","Marios Alexandrou","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarios-alexandrou\u002F","\u003Cp>** WARNING: DON’T USE THIS PLUGIN IF YOUR PERMALINKS INCLUDE DATES **\u003C\u002Fp>\n\u003Cp>The Republish Old Posts plugin helps revive old posts by resetting the publish date to the current date. This will push old posts to your front page, the top of archive pages, and back into RSS feeds. Ideal for sites with a large repository of evergreen content.\u003C\u002Fp>\n\u003Cp>Why would you want to do this? Here are a few reasons:\u003C\u002Fp>\n\u003Col>\n\u003Cli>New visitors to your site haven’t seen your old content. This will help them discover it.\u003C\u002Fli>\n\u003Cli>Old content won’t show up in date-based searches on search engines, but resetting the date can make them look fresh again.\u003C\u002Fli>\n\u003Cli>People like to share and link to new content and they determine that by looking at the publication date.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>A \u003Ca href=\"https:\u002F\u002Finfolific.com\u002Ftechnology\u002Fsoftware-worth-using\u002Frepublish-old-posts-for-wordpress\u002F#pro-version\" rel=\"nofollow ugc\">pro version\u003C\u002Fa> (a lifetime license is less than $15) with many additional options (see screenshots) for controlling when and what posts are republished.\u003C\u002Fp>\n","Republish old posts automatically by resetting the date to the current date. Promote old posts to users that haven't seen them.",3000,60169,86,12,"2025-12-29T14:20:00.000Z","6.9.4","5.0",[79,80,57,58],"old-post-promoter","post-promoter","http:\u002F\u002Finfolific.com\u002Ftechnology\u002Fsoftware-worth-using\u002Frepublish-old-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frepublish-old-posts.zip",100,"2023-12-28 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":13,"num_ratings":13,"last_updated":95,"tested_up_to":96,"requires_at_least":97,"requires_php":98,"tags":99,"homepage":104,"download_link":105,"security_score":83,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"eesy-id2wp-publish-indesign-html5","eesy_ID2WP – Publish InDesign HTML5","1.0.3","eesy","https:\u002F\u002Fprofiles.wordpress.org\u002Feesywp\u002F","\u003Cp>eesy_ID2WP is an innovative plugin that transforms InDesign layouts into interactive HTML5 documents and seamlessly integrates them into WordPress.\u003C\u002Fp>\n\u003Cp>It provides an easy way to export complex documents such as brochures, manuals, or presentations directly from InDesign and make them available online – without content loss and with full control over design and functionality.\u003C\u002Fp>\n\u003Ch3>Key Features and Benefits:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Accurate HTML5 Export:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Publish InDesign layouts as pixel-perfect HTML5 webpages. No additional InDesign plugin, no coding required.\u003C\u002Fli>\n\u003Cli>Embeds fonts, video, audio, HTML code, and transitions.\u003C\u002Fli>\n\u003Cli>Animations remain fully intact during the HTML5 export, creating dynamic web experiences.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Data Optimization During Upload:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HTML5 Code Optimization: Automatically cleans and processes InDesign’s HTML5 output for flawless deployment.\u003C\u002Fli>\n\u003Cli>Reduces PNG file sizes through automatic optimization to 8-bit or 24-bit.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Interactive Content and User Experience:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Supports the integration of videos, audio, and HTML code directly from InDesign.\u003C\u002Fli>\n\u003Cli>Page navigation with customizable navigation arrows (color and background). \u003C\u002Fli>\n\u003Cli>Additionally supports swipe functionality.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Search Engine Optimization (SEO):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Manage title and description per package (not achievable with plugins like Yoast).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Analytics and Tracking Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>GDPR-compliant (cookieless) tracking of views, including timestamp.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom CSS:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Supports custom CSS for additional design flexibility.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Security and Access Control:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Optional password protection to control access.\u003C\u002Fli>\n\u003Cli>Supports WordPress scheduled publishing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flexible Integration:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customizable project URLs.\u003C\u002Fli>\n\u003Cli>Alternative embedding via shortcode into posts and pages.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Workflow with InDesign and eesy_ID2WP:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Create your interactive layout in InDesign, including animations, videos, and buttons. \u003C\u002Fli>\n\u003Cli>Export the document as an HTML5 package.  \u003C\u002Fli>\n\u003Cli>Upload the ZIP file into WordPress and publish the project using eesy_ID2WP.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Use Cases:\u003C\u002Fh3>\n\u003Cp>Ideal for designers, agencies, and businesses looking to bring interactive brochures, technical manuals, datasheets, presentations, or whitepapers to the web. \u003Cstrong>eesy_ID2WP\u003C\u002Fstrong> enhances InDesign’s creative potential and makes it fully web-compatible.\u003C\u002Fp>\n","Publish interactive HTML5 documents from InDesign directly to WordPress. No additional InDesign plugin, no coding required.",80,935,"2025-07-03T13:26:00.000Z","6.8.5","6.0","8.0",[100,20,101,102,103],"adobe-indesign","indesign","pdf","web-publishing","https:\u002F\u002Feesy.com\u002Feesy_id2wp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feesy-id2wp-publish-indesign-html5.1.0.3.zip",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":11,"downloaded":114,"rating":13,"num_ratings":13,"last_updated":115,"tested_up_to":116,"requires_at_least":77,"requires_php":117,"tags":118,"homepage":119,"download_link":120,"security_score":47,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"update-posts-date","Update Posts Date","1.1","edckwt","https:\u002F\u002Fprofiles.wordpress.org\u002Fedckwt\u002F","\u003Cp>** WARNING: DON’T USE THIS PLUGIN IF YOUR PERMALINKS INCLUDE DATES **\u003C\u002Fp>\n\u003Cp>Why would you want to do this? Here are a few reasons:\u003C\u002Fp>\n\u003Col>\n\u003Cli>New visitors to your site haven’t seen your old content. This will help them discover it.\u003C\u002Fli>\n\u003Cli>Old content won’t show up in date-based searches on search engines, but resetting the date can make them look fresh again.\u003C\u002Fli>\n\u003Cli>People like to share and link to new content and they determine that by looking at the publication date.\u003C\u002Fli>\n\u003C\u002Fol>\n","Update posts date automatically by setting the date to the current date.",2017,"2024-05-12T08:41:00.000Z","6.5.8","7.4",[54,55,57,58],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fupdate-posts-date\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupdate-posts-date.1.1.zip",{"slug":122,"name":123,"version":88,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":13,"downloaded":128,"rating":13,"num_ratings":13,"last_updated":17,"tested_up_to":76,"requires_at_least":129,"requires_php":117,"tags":130,"homepage":136,"download_link":137,"security_score":83,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":138},"prepublish-checks-by-kgaurav","PrePublish Checks by Kgaurav","kgaurav6791","https:\u002F\u002Fprofiles.wordpress.org\u002Fkgaurav6791\u002F","\u003Cp>[Classic-Editor-Only] A simple plugin to enforce variety of checks before publishing any new post.Define minimum and maximum title length.\u003Cbr \u002F>\nMake presence of a featured image compulsory.\u003Cbr \u002F>\nSpecify the minimum\u002Fmaximum height and width for your featured images.\u003Cbr \u002F>\nBonus feature check for post slug to be in english.\u003C\u002Fp>\n\u003Cp>Do you own a multi-author website,who keeps publishing posts with too small or too big title?\u003Cbr \u002F>\nOr do you yourself keep forgetting to add featured image before clicking on that “publish” button?\u003Cbr \u002F>\nMaybe people keep making posts on your website with featured images of such small  resolution that they start looking blurry on your landing page?\u003C\u002Fp>\n\u003Cp>This plugin will ensure that you can set custom conditions that need to be met before someone could publish a post.\u003Cbr \u002F>\nIf anyone clicks on the ‘publish’ button and one of the conditions are not met(For eg-if publish button is clicked without adding a featured image.) then the publish event will be intercepted,post will be saved as a draft instead and user will get an appropriate error showing what they did wrong and how they can correct their mistake before publishing.\u003C\u002Fp>\n","A plugin that checks to ensure variety of conditions are being met before any new post can be published.Eg-Minimum Title length,Featured Image,etc.",901,"4.1",[131,132,133,134,135],"checks-before-posting","checks-before-publishing","prepublish-checklist","prepublish-checks","prepublish-posts","https:\u002F\u002Fgithub.com\u002Fkgaurav6791\u002FPrePublish-Checks-by-Kgaurav","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprepublish-checks-by-kgaurav.1.0.3.zip","2026-03-15T10:48:56.248Z",{"attackSurface":140,"codeSignals":226,"taintFlows":295,"riskAssessment":296,"analyzedAt":310},{"hooks":141,"ajaxHandlers":218,"restRoutes":223,"shortcodes":224,"cronEvents":225,"entryPointCount":61,"unprotectedCount":61},[142,148,151,154,157,159,162,165,169,172,175,178,181,184,187,189,192,195,198,201,203,206,209,212,215],{"type":143,"name":144,"callback":145,"file":146,"line":147},"action","plugins_loaded","anonymous","includes\\class-epubsystems_woo.php",142,{"type":143,"name":149,"callback":145,"file":146,"line":150},"admin_init",158,{"type":143,"name":152,"callback":145,"file":146,"line":153},"admin_menu",160,{"type":143,"name":155,"callback":145,"file":146,"line":156},"admin_enqueue_scripts",163,{"type":143,"name":155,"callback":145,"file":146,"line":158},164,{"type":143,"name":160,"callback":145,"file":146,"line":161},"woocommerce_admin_order_data_after_shipping_address",168,{"type":143,"name":163,"callback":145,"file":146,"line":164},"woocommerce_process_shop_order_meta",171,{"type":166,"name":167,"callback":145,"file":146,"line":168},"filter","manage_edit-shop_order_columns",174,{"type":143,"name":170,"callback":145,"file":146,"line":171},"manage_shop_order_posts_custom_column",175,{"type":143,"name":173,"callback":145,"file":146,"line":174},"woocommerce_webhook_delivery",178,{"type":166,"name":176,"callback":145,"file":146,"line":177},"product_type_options",183,{"type":143,"name":179,"callback":145,"file":146,"line":180},"woocommerce_admin_process_product_object",184,{"type":143,"name":182,"callback":145,"file":146,"line":183},"woocommerce_product_options_general_product_data",186,{"type":143,"name":185,"callback":145,"file":146,"line":186},"woocommerce_variation_options",189,{"type":143,"name":185,"callback":145,"file":146,"line":188},191,{"type":143,"name":190,"callback":145,"file":146,"line":191},"woocommerce_save_product_variation",192,{"type":143,"name":193,"callback":145,"file":146,"line":194},"admin_action_modal_convert_to_ebook",196,{"type":143,"name":196,"callback":145,"file":146,"line":197},"admin_action_modal_copy_sku_to_ebook_code",197,{"type":143,"name":199,"callback":145,"file":146,"line":200},"wp_enqueue_scripts",217,{"type":143,"name":199,"callback":145,"file":146,"line":202},218,{"type":143,"name":204,"callback":145,"file":146,"line":205},"woocommerce_checkout_update_order_meta",221,{"type":143,"name":207,"callback":145,"file":146,"line":208},"woocommerce_checkout_create_order_line_item",223,{"type":143,"name":210,"callback":145,"file":146,"line":211},"woocommerce_order_item_get_formatted_meta_data",227,{"type":143,"name":213,"callback":145,"file":146,"line":214},"woocommerce_after_order_notes",230,{"type":143,"name":216,"callback":145,"file":146,"line":217},"woocommerce_checkout_process",232,[219],{"action":220,"nopriv":221,"callback":145,"hasNonce":221,"hasCapCheck":221,"file":146,"line":222},"es_woo_sell_ajax_endpoint",false,195,[],[],[],{"dangerousFunctions":227,"sqlUsage":228,"outputEscaping":230,"fileOperations":61,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":294},[],{"prepared":13,"raw":13,"locations":229},[],{"escaped":74,"rawEcho":231,"locations":232},39,[233,237,239,241,243,245,247,249,251,254,255,256,258,259,260,262,263,264,266,267,268,269,270,271,272,273,274,276,277,278,280,281,282,284,286,289,290,291,292],{"file":234,"line":235,"context":236},"admin\\class-epubsystems_woo-admin.php",155,"raw output",{"file":234,"line":238,"context":236},336,{"file":234,"line":240,"context":236},340,{"file":234,"line":242,"context":236},344,{"file":234,"line":244,"context":236},462,{"file":234,"line":246,"context":236},548,{"file":234,"line":248,"context":236},726,{"file":234,"line":250,"context":236},822,{"file":252,"line":253,"context":236},"admin\\partials\\epubsystems_woo-admin-display.php",59,{"file":252,"line":253,"context":236},{"file":252,"line":253,"context":236},{"file":252,"line":257,"context":236},65,{"file":252,"line":257,"context":236},{"file":252,"line":257,"context":236},{"file":252,"line":261,"context":236},70,{"file":252,"line":261,"context":236},{"file":252,"line":261,"context":236},{"file":252,"line":265,"context":236},75,{"file":252,"line":265,"context":236},{"file":252,"line":265,"context":236},{"file":252,"line":93,"context":236},{"file":252,"line":93,"context":236},{"file":252,"line":93,"context":236},{"file":252,"line":26,"context":236},{"file":252,"line":26,"context":236},{"file":252,"line":26,"context":236},{"file":252,"line":275,"context":236},90,{"file":252,"line":275,"context":236},{"file":252,"line":275,"context":236},{"file":252,"line":279,"context":236},97,{"file":252,"line":279,"context":236},{"file":252,"line":279,"context":236},{"file":252,"line":283,"context":236},133,{"file":252,"line":285,"context":236},137,{"file":287,"line":288,"context":236},"public\\class-epubsystems_woo-public.php",220,{"file":287,"line":205,"context":236},{"file":287,"line":208,"context":236},{"file":287,"line":217,"context":236},{"file":287,"line":293,"context":236},236,[],[],{"summary":297,"deductions":298},"The \"ebook-woohook\" plugin v4.1.9 presents a mixed security posture. On the positive side, the plugin does not appear to have any known vulnerabilities (CVEs) or critical taint analysis findings. All SQL queries are also properly prepared, which is a significant strength. However, there are notable concerns regarding its attack surface and output sanitization.\n\nThe primary risk stems from a single AJAX handler that lacks authentication checks. This creates a direct entry point for potential attacks without proper authorization, which is a critical oversight. Furthermore, the static analysis reveals that a significant portion of the plugin's output is not properly escaped (24% escaped means 76% unescaped). This can lead to Cross-Site Scripting (XSS) vulnerabilities if user-supplied data is displayed without adequate sanitization.\n\nThe absence of any recorded vulnerability history is generally a good sign, suggesting the plugin has been relatively secure in the past or has not been a target. However, this does not negate the immediate risks identified in the current static analysis. The combination of an unprotected AJAX endpoint and widespread unescaped output indicates a need for immediate attention to mitigate potential security breaches.",[299,302,305,307],{"reason":300,"points":301},"AJAX handler without authentication",10,{"reason":303,"points":304},"Significant percentage of unescaped output",8,{"reason":306,"points":301},"Lack of nonce checks on AJAX",{"reason":308,"points":309},"Lack of capability checks",5,"2026-03-16T22:08:10.995Z",{"wat":312,"direct":321},{"assetPaths":313,"generatorPatterns":316,"scriptPaths":317,"versionParams":318},[314,315],"\u002Fwp-content\u002Fplugins\u002Fepubsystems_woo\u002Fadmin\u002Fcss\u002Fepubsystems_woo-admin.css","\u002Fwp-content\u002Fplugins\u002Fepubsystems_woo\u002Fadmin\u002Fjs\u002Fepubsystems_woo-admin.js",[],[315],[319,320],"epubsystems_woo\u002Fadmin\u002Fcss\u002Fepubsystems_woo-admin.css?ver=","epubsystems_woo\u002Fadmin\u002Fjs\u002Fepubsystems_woo-admin.js?ver=",{"cssClasses":322,"htmlComments":323,"htmlAttributes":324,"restEndpoints":325,"jsGlobals":326,"shortcodeOutput":327},[],[],[],[],[],[]]