=== PDF Rack === Contributors: codersuraz Tags: pdf, pdf viewer, document manager, embed pdf, pdf library Requires at least: 5.8 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Organize and Embed PDF files via Gutenberg Blocks, Elementor, or Shortcodes using a responsive PDF viewer. == Description == PDF Rack creates a dedicated workspace within the WordPress dashboard specifically for handling PDF documents. Unlike the standard Media Library, which mixes images, videos, and documents, this plugin provides a focused interface to upload, categorize, and manage PDF files. The plugin includes a JavaScript-based frontend viewer that renders PDFs directly on your pages or posts without requiring browser extensions or external services. **Key Features** * **Dedicated PDF Dashboard:** Adds a separate "PDF Rack" menu to the admin sidebar. Files uploaded here are kept distinct from the general Media Library workflow. * **Organization & Taxonomy:** Assign custom categories and tags to PDFs for better sorting. * **Search & Filter:** Filter documents in the backend by category or date, and search by filename to locate documents quickly. * **Responsive Frontend Viewer:** Displays PDFs in a container that adapts to screen size. Features include page navigation, zoom control, and a download button (optional). * **Multiple Embedding Methods:** * **Gutenberg Block:** Native block support for the Block Editor. * **Elementor Widget:** dedicated widget for Elementor users. * **Shortcode:** Use `[pdf-rack id="123"]` in the Classic Editor or any text widget. **Usage** 1. Navigate to **PDF Rack > Add New**. 2. Upload your PDF file and assign a Category (optional). 3. Copy the generated Shortcode from the list view, or navigate to a Page/Post to use the Block or Widget. == Installation == 1. Upload the plugin files to the `/wp-content/plugins/pdf-rack` directory, or install the plugin through the WordPress plugins screen directly. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Use the **PDF Rack** menu to start uploading documents. == Frequently Asked Questions == = Does this plugin modify my existing Media Library files? = No. While the plugin uses the WordPress upload functionality, it organizes the data separately. Your existing files in the Media Library remain untouched. = Can I use this with the Classic Editor? = Yes. Every PDF uploaded receives a unique shortcode (e.g., `[pdf-rack id="10"]`) which can be pasted into the Classic Editor. = Is the PDF viewer mobile-friendly? = Yes. The viewer uses a responsive container that resizes based on the width of the parent element (div) on the frontend. = Does it support large PDF files? = The plugin attempts to load the file provided. Performance for very large files (e.g., 50MB+) depends on your web host's `upload_max_filesize` settings and the end-user's internet connection speed. == Screenshots == 1. **PDF Dashboard:** The main list view showing uploaded PDFs, assigned categories, and shortcodes. 2. **Add New PDF:** The upload interface with categorization options. 3. **Gutenberg Block:** Selecting a PDF using the native block editor. 4. **Frontend Viewer:** How the PDF appears to site visitors. == Third Party Libraries == This plugin utilizes the following third-party libraries to provide its functionality: * **PDF.js** (Mozilla) - https://github.com/mozilla/pdf.js (Apache License 2.0) * **React** (Meta) - https://reactjs.org (MIT) * **Lucide Icons** - https://lucide.dev (ISC) * **Date-fns** - https://date-fns.org (MIT) == Changelog == = 1.0.0 = * Initial release. * Added support for Gutenberg Block and Elementor Widget. * Implemented categorization and search logic.