{"id":330915,"date":"2026-06-23T22:26:53","date_gmt":"2026-06-23T22:26:53","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/templates-rocket-catalog-manager\/"},"modified":"2026-07-10T05:59:31","modified_gmt":"2026-07-10T05:59:31","slug":"templates-rocket-catalog-manager","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/templates-rocket-catalog-manager\/","author":23503866,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.17","stable_tag":"1.1.17","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Templates Rocket Catalog Manager","header_author":"Templates Rocket","header_description":"Manage PDF catalogs and serve them through expiring, HMAC-signed download links instead of exposing the raw file URL. Drop a download button anywhere with a shortcode or a data attribute.","assets_banners_color":"fbfaff","last_updated":"2026-07-10 05:59:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/templatesrocket.com\/catalog-rocket-pro\/","header_author_uri":"https:\/\/templatesrocket.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":278,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"templatesrocketwp","date":"2026-06-23 22:26:15"},"1.1.0":{"tag":"1.1.0","author":"templatesrocketwp","date":"2026-06-27 05:35:55"},"1.1.1":{"tag":"1.1.1","author":"templatesrocketwp","date":"2026-06-27 05:43:16"},"1.1.11":{"tag":"1.1.11","author":"templatesrocketwp","date":"2026-07-08 22:11:45"},"1.1.12":{"tag":"1.1.12","author":"templatesrocketwp","date":"2026-07-09 17:48:34"},"1.1.13":{"tag":"1.1.13","author":"templatesrocketwp","date":"2026-07-10 01:25:12"},"1.1.14":{"tag":"1.1.14","author":"templatesrocketwp","date":"2026-07-10 04:08:40"},"1.1.15":{"tag":"1.1.15","author":"templatesrocketwp","date":"2026-07-10 04:53:38"},"1.1.16":{"tag":"1.1.16","author":"templatesrocketwp","date":"2026-07-10 05:09:14"},"1.1.17":{"tag":"1.1.17","author":"templatesrocketwp","date":"2026-07-10 05:59:31"}},"upgrade_notice":{"1.1.11":"<p>Fixes catalog downloads being blocked by the browser&#039;s pop-up blocker on some browsers.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3586766,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3586766,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3586766,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3586736,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3586736,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.1.11","1.1.12","1.1.13","1.1.14","1.1.15","1.1.16","1.1.17"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3587709,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3587709,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3587709,"resolution":"3","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"Manage all your PDF catalogs from one screen - add catalogs, see per-catalog download counts and copy ready-to-paste shortcodes.","2":"Drop a download button anywhere on your site. Files are served through secure, expiring signed links, never the raw URL.","3":"Bulk-import PDFs straight from the Media Library - each file name becomes the catalog title."}},"plugin_section":[],"plugin_tags":[2777,8470,568,1764,268616],"plugin_category":[50],"plugin_contributors":[264829],"plugin_business_model":[],"class_list":["post-330915","plugin","type-plugin","status-publish","hentry","plugin_tags-catalog","plugin_tags-document","plugin_tags-download","plugin_tags-pdf","plugin_tags-protected-download","plugin_category-media","plugin_contributors-templatesrocketwp","plugin_committers-templatesrocketwp"],"banners":{"banner":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/banner-772x250.png?rev=3586736","banner_2x":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/banner-1544x500.png?rev=3586736","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/icon.svg?rev=3586766","icon":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/icon.svg?rev=3586766","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/screenshot-1.png?rev=3587709","caption":"Manage all your PDF catalogs from one screen - add catalogs, see per-catalog download counts and copy ready-to-paste shortcodes."},{"src":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/screenshot-2.png?rev=3587709","caption":"Drop a download button anywhere on your site. Files are served through secure, expiring signed links, never the raw URL."},{"src":"https:\/\/ps.w.org\/templates-rocket-catalog-manager\/assets\/screenshot-3.png?rev=3587709","caption":"Bulk-import PDFs straight from the Media Library - each file name becomes the catalog title."}],"raw_content":"<!--section=description-->\n<p>Templates Rocket Catalog Manager lets you manage PDF catalogs from a single screen and serve them through secure, time-limited signed links instead of exposing the raw file URL. Drop a download button anywhere with a shortcode or a data attribute on any existing button.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Manage unlimited PDF catalogs from one screen<\/li>\n<li>Protected uploads folder \u2014 direct access to the raw file is blocked<\/li>\n<li>Expiring, HMAC-signed download links (configurable expiration)<\/li>\n<li>Download counter per catalog<\/li>\n<li>Shortcode <code>[catr_download_button id=\"123\"]<\/code>, plus a <code>data-catr-catalog=\"123\"<\/code> attribute for any button or link<\/li>\n<li>Bulk import from the Media Library and CSV export of your catalogs<\/li>\n<li>Native WordPress admin UI \u2014 inherits your admin color scheme and your theme's button styles on the front end<\/li>\n<\/ul>\n\n<h4>Going further<\/h4>\n\n<p><a href=\"https:\/\/templatesrocket.com\/catalog-rocket-pro\/\">Catalog Rocket Pro<\/a> is a separate commercial edition that replaces this free version \u2014 you install it instead of the free plugin, not alongside it. On activation it automatically deactivates the free version and keeps your existing catalogs and settings. It turns each download into a lead: a built-in capture form, an email notification on every download, and a leads dashboard with CSV export. The features described in this readme are fully functional in this free version on their own.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>templates-rocket-catalog-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install it from Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Catalogs<\/strong> to add your first PDF catalog.<\/li>\n<li>Place a button with the shortcode <code>[catr_download_button id=\"X\"]<\/code> (replace X with the catalog ID), or add <code>data-catr-catalog=\"X\"<\/code> to any existing button.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"are%20the%20pdf%20files%20really%20protected%3F\"><h3>Are the PDF files really protected?<\/h3><\/dt>\n<dd><p>Yes. PDFs you manage through the plugin are served via a signed, expiring link. The uploads subfolder is protected with an .htaccess rule so the raw file cannot be accessed directly. (Direct-access protection relies on the server honoring .htaccess; on Apache this works out of the box.)<\/p><\/dd>\n<dt id=\"how%20long%20is%20a%20download%20link%20valid%3F\"><h3>How long is a download link valid?<\/h3><\/dt>\n<dd><p>By default 30 minutes. You can change it under Catalogs \u2192 Settings.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20page%20builder%3F\"><h3>Does it work with my page builder?<\/h3><\/dt>\n<dd><p>Yes. Use the shortcode, or add <code>data-catr-catalog=\"ID\"<\/code> to any button or link from your theme or page builder.<\/p><\/dd>\n<dt id=\"how%20do%20i%20style%20the%20download%20button%3F\"><h3>How do I style the download button?<\/h3><\/dt>\n<dd><p>The shortcode outputs a plain button that inherits your active theme's button styling, so it matches the rest of your site. Add your own CSS class with the <code>class<\/code> attribute if you want.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.17<\/h4>\n\n<ul>\n<li>Added a Settings link to the plugin's row on the Plugins screen for quicker access.<\/li>\n<\/ul>\n\n<h4>1.1.16<\/h4>\n\n<ul>\n<li>Added a dismissible upgrade banner on the Catalogs screen that highlights Catalog Rocket Pro's lead capture. \"Not now\" hides it for two weeks.<\/li>\n<\/ul>\n\n<h4>1.1.15<\/h4>\n\n<ul>\n<li>Improved the review request with clearer choices (leave a review \/ not now \/ already did) and a support link.<\/li>\n<\/ul>\n\n<h4>1.1.14<\/h4>\n\n<ul>\n<li>Creating a catalog now correctly says \"Catalog created\" (it previously said \"updated\").<\/li>\n<li>Actions that fail (save, delete, load) now show an error instead of doing nothing silently, and the list no longer gets stuck on \"Loading\u2026\".<\/li>\n<li>Bulk import: the \"Create\" button is hidden when nothing is pending (no \"Create 0 catalogs\"), and the queue is locked while it runs.<\/li>\n<li>The download button is hardened against double-clicks (which could open duplicate tabs), and the download counter only counts a real, served file.<\/li>\n<\/ul>\n\n<h4>1.1.13<\/h4>\n\n<ul>\n<li>Updated \"Tested up to\" to WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>1.1.12<\/h4>\n\n<ul>\n<li>Hardened downloads: signed-link handling now enforces strict path containment and fails closed if a file resolves outside the protected catalog folder.<\/li>\n<li>Added compatibility guards so the plugin degrades safely instead of erroring on unexpected environments.<\/li>\n<li>Schema migration now runs automatically on update to keep the catalogs table current.<\/li>\n<li>Improved multisite compatibility.<\/li>\n<li>Fixed: \"Tested up to\" now reports a valid WordPress version.<\/li>\n<\/ul>\n\n<h4>1.1.11<\/h4>\n\n<ul>\n<li>Fixed: on some browsers the catalog download could be blocked by the pop-up blocker; the download now opens reliably.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added a friendly review request after two weeks of use.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added an in-plugin overview of Catalog Rocket Pro features on the Catalogs screen.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Manage PDF catalogs and serve them through expiring, signed download links instead of exposing the raw file URL.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/330915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=330915"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/templatesrocketwp"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=330915"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=330915"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=330915"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=330915"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=330915"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=330915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}