{"id":70689,"date":"2017-08-16T10:13:32","date_gmt":"2017-08-16T10:13:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpyog-documents\/"},"modified":"2026-06-02T17:49:44","modified_gmt":"2026-06-02T17:49:44","slug":"wpyog-documents","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/wpyog-documents\/","author":15397897,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.0","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"WPYog Documents","header_author":"poppinsdigital.com","header_description":"WPYog Documents.","assets_banners_color":"68d1d6","last_updated":"2026-06-02 17:49:44","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/poppinsdigital.com\/","header_plugin_uri":"https:\/\/poppinsdigital.com\/","header_author_uri":"https:\/\/poppinsdigital.com\/","rating":4.8,"author_block_rating":0,"active_installs":100,"downloads":5635,"num_ratings":11,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.3":{"tag":"1.3.3","author":"wpyog","date":"2025-09-18 15:26:44"},"1.3.4":{"tag":"1.3.4","author":"wpyog","date":"2025-09-18 16:49:01"},"1.3.5":{"tag":"1.3.5","author":"wpyog","date":"2025-09-19 06:52:00"},"1.3.6":{"tag":"1.3.6","author":"wpyog","date":"2025-11-24 13:38:11"},"1.3.7":{"tag":"1.3.7","author":"wpyog","date":"2025-12-20 03:53:53"},"1.5.0":{"tag":"1.5.0","author":"wpyog","date":"2026-06-02 17:49:44"}},"upgrade_notice":{"1.5.0":"<p>Major update \u2014 new column layout, Shortcode Generator, full CSS redesign, and multiple bug fixes. Fully backward compatible. Safe to update.<\/p>","1.3.7":"<p>Added other file icons. Tested on WordPress 6.9.<\/p>","1.3.6":"<p>Security enhancements. Added text domain for translation.<\/p>","1.3.5":"<p>Files can now be downloaded safely with nonce. Security enhancements.<\/p>","1.3.4":"<p>Sanitized the text input field to prevent XSS attacks.<\/p>"},"ratings":{"1":0,"2":0,"3":1,"4":0,"5":10},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3558159,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3558159,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3558457,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3558457,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.3","1.3.4","1.3.5","1.3.6","1.3.7","1.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3558392,"resolution":"1","location":"assets","locale":"","width":2300,"height":1075},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3558392,"resolution":"2","location":"assets","locale":"","width":2300,"height":1117},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3558392,"resolution":"3","location":"assets","locale":"","width":2300,"height":1109},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3558392,"resolution":"4","location":"assets","locale":"","width":2379,"height":1305},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3558392,"resolution":"5","location":"assets","locale":"","width":2396,"height":854},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3558392,"resolution":"6","location":"assets","locale":"","width":2376,"height":1887}},"screenshots":{"1":"WPYog Documents List \u2014 admin view of all uploaded documents with shortcode column.","2":"Add \/ Edit Document \u2014 upload a file and set title and description from the admin.","3":"Shortcode Generator \u2014 live admin tool to build shortcodes with all parameters and one-click copy.","4":"Document List (Frontend) \u2014 card-row layout with color-coded file type icons and download buttons.","5":"Single Document (Frontend) \u2014 individual document box with left accent border and description.","6":"Category Document List (Frontend) \u2014 filtered list with date badge, download button, and description."}},"plugin_section":[],"plugin_tags":[24392,12813,9054,24613,1764],"plugin_category":[50],"plugin_contributors":[145087],"plugin_business_model":[],"class_list":["post-70689","plugin","type-plugin","status-publish","hentry","plugin_tags-document-library","plugin_tags-document-management","plugin_tags-documents","plugin_tags-file-download","plugin_tags-pdf","plugin_category-media","plugin_contributors-wpyog","plugin_committers-wpyog"],"banners":{"banner":"https:\/\/ps.w.org\/wpyog-documents\/assets\/banner-772x250.png?rev=3558457","banner_2x":"https:\/\/ps.w.org\/wpyog-documents\/assets\/banner-1544x500.png?rev=3558457","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpyog-documents\/assets\/icon-128x128.png?rev=3558159","icon_2x":"https:\/\/ps.w.org\/wpyog-documents\/assets\/icon-256x256.png?rev=3558159","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpyog-documents\/assets\/screenshot-1.jpg?rev=3558392","caption":"WPYog Documents List \u2014 admin view of all uploaded documents with shortcode column."},{"src":"https:\/\/ps.w.org\/wpyog-documents\/assets\/screenshot-2.jpg?rev=3558392","caption":"Add \/ Edit Document \u2014 upload a file and set title and description from the admin."},{"src":"https:\/\/ps.w.org\/wpyog-documents\/assets\/screenshot-3.jpg?rev=3558392","caption":"Shortcode Generator \u2014 live admin tool to build shortcodes with all parameters and one-click copy."},{"src":"https:\/\/ps.w.org\/wpyog-documents\/assets\/screenshot-4.jpg?rev=3558392","caption":"Document List (Frontend) \u2014 card-row layout with color-coded file type icons and download buttons."},{"src":"https:\/\/ps.w.org\/wpyog-documents\/assets\/screenshot-5.jpg?rev=3558392","caption":"Single Document (Frontend) \u2014 individual document box with left accent border and description."},{"src":"https:\/\/ps.w.org\/wpyog-documents\/assets\/screenshot-6.jpg?rev=3558392","caption":"Category Document List (Frontend) \u2014 filtered list with date badge, download button, and description."}],"raw_content":"<!--section=description-->\n<p>WPYog Documents is a free, versatile WordPress document listing and management plugin. Upload, organize, and display PDF, Word, Excel, PowerPoint, and any other file type directly from your WordPress dashboard using a simple shortcode.<\/p>\n\n<p><a href=\"https:\/\/demo.poppinsdigital.com\/wpyog-documents\/\">View Live Demo<\/a><\/p>\n\n<p><strong>Key Features<\/strong><\/p>\n\n<ul>\n<li>Display documents on any post, page, or widget area using the <code>[wpyog-document-list]<\/code> shortcode<\/li>\n<li>Organize documents into categories<\/li>\n<li>Filter, sort, and limit the document list via shortcode attributes<\/li>\n<li>Secure file downloads via nonce-verified AJAX<\/li>\n<li>Supports all common file types: PDF, DOCX, XLSX, PPTX, images, audio, video, zip archives, and more<\/li>\n<li>No programming knowledge required \u2014 works out of the box<\/li>\n<\/ul>\n\n<p><strong>Shortcode: [wpyog-document-list]<\/strong><\/p>\n\n<p>Place this shortcode on any post or page to list documents. Available attributes:<\/p>\n\n<ul>\n<li><code>category<\/code> \u2014 filter by category ID. Example: <code>[wpyog-document-list category=\"7\"]<\/code><\/li>\n<li><code>desc<\/code> \u2014 show\/hide description. <code>1<\/code> = show, <code>0<\/code> = hide. Example: <code>[wpyog-document-list desc=\"1\"]<\/code><\/li>\n<li><code>date<\/code> \u2014 show\/hide upload date. <code>1<\/code> = show, <code>0<\/code> = hide. Example: <code>[wpyog-document-list date=\"1\"]<\/code><\/li>\n<li><code>orderby<\/code> \u2014 field to sort by. Accepts <code>date<\/code>. Example: <code>[wpyog-document-list orderby=\"date\"]<\/code><\/li>\n<li><code>order<\/code> \u2014 sort direction. <code>DESC<\/code> or <code>ASC<\/code>. Example: <code>[wpyog-document-list order=\"ASC\"]<\/code><\/li>\n<li><code>download<\/code> \u2014 show\/hide download button. <code>1<\/code> = show, <code>0<\/code> = hide. Example: <code>[wpyog-document-list download=\"1\"]<\/code><\/li>\n<li><code>limit<\/code> \u2014 maximum number of documents to show. Example: <code>[wpyog-document-list limit=\"5\"]<\/code><\/li>\n<li><code>columns<\/code> \u2014 number of columns (1\u20134). Default is 1. Example: <code>[wpyog-document-list columns=\"2\"]<\/code><\/li>\n<\/ul>\n\n<p>To display a single document, use the <code>[wpyog-document]<\/code> shortcode:<\/p>\n\n<ul>\n<li><code>id<\/code> \u2014 document ID to display. Example: <code>[wpyog-document id=\"4\"]<\/code><\/li>\n<\/ul>\n\n<p><strong>Supported File Types<\/strong><\/p>\n\n<ul>\n<li>Microsoft Word (DOC, DOCX, DOCM, DOTM, DOTX)<\/li>\n<li>Microsoft Excel (XLS, XLSX, XLSB, XLSM)<\/li>\n<li>Microsoft PowerPoint (PPT, PPTX, PPSX, PPS, PPTM, POTM, PPAM, POTX, PPSM)<\/li>\n<li>Adobe PDF<\/li>\n<li>Images (PNG, JPG, GIF, WEBP, SVG)<\/li>\n<li>Audio (MP3, WAV)<\/li>\n<li>Video (MP4, WEBM, AVI, MOV, WMV)<\/li>\n<li>Archives (ZIP, RAR, TAR, GZ, 7Z)<\/li>\n<li>Plain text and more<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin and unzip it.<\/li>\n<li>Place the <code>wpyog-documents<\/code> folder in your <code>wp-content\/plugins<\/code> folder.<\/li>\n<li>Activate the plugin from the Plugins tab of your WordPress admin.<\/li>\n<li>Go to <strong>WPYog Documents<\/strong> in the admin menu and add your documents.<\/li>\n<li>Place <code>[wpyog-document-list]<\/code> on any post or page to display documents.<\/li>\n<\/ol>\n\n<p>You can find each document's ID in the Shortcode column of the Documents list in your admin.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20request%20a%20feature%3F\"><h3>Can I request a feature?<\/h3><\/dt>\n<dd><p>Yes \u2014 we'd love to hear from you.<\/p><\/dd>\n<dt id=\"does%20it%20support%20all%20file%20types%3F\"><h3>Does it support all file types?<\/h3><\/dt>\n<dd><p>Yes. Any file you can upload to WordPress can be listed. Icons are shown for the most common types.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20page%20builders%3F\"><h3>Is it compatible with page builders?<\/h3><\/dt>\n<dd><p>Yes. The shortcode works in any editor or page builder that supports WordPress shortcodes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<p>New Features<\/p>\n\n<ul>\n<li>Added <code>columns<\/code> shortcode attribute \u2014 display documents in a 2, 3, or 4 column grid layout. Example: <code>[wpyog-document-list columns=\"2\"]<\/code>. Responsive: collapses to 2 columns on tablet, 1 column on mobile.<\/li>\n<li>Added live Shortcode Generator admin page (replaces static Shortcode Reference). Includes category dropdown populated from real categories, columns selector, limit, sort, and display options with a one-click copy button.<\/li>\n<li>Added \"More Plugins\" section to the Shortcode Generator page showcasing WPYog Team, WPYog News, and poppinsdigital.com.<\/li>\n<\/ul>\n\n<p>Design \/ CSS<\/p>\n\n<ul>\n<li>Complete frontend CSS redesign \u2014 replaced plain bullet list with a professional card-row layout.<\/li>\n<li>Color-coded file type icon badges: PDF (red), Word (blue), Excel (green), PowerPoint (orange), Images (purple), ZIP (yellow).<\/li>\n<li>Hover effects: accent left-bar, icon scale, download button lift shadow.<\/li>\n<li>Download action rendered as a pill icon button with aria-label.<\/li>\n<li>Date displayed as a rounded badge.<\/li>\n<li>Description shown with a light hairline separator.<\/li>\n<li>Single document box styled with left accent border and hover lift shadow.<\/li>\n<li>Fully responsive \u2014 mobile (\u2264768px) collapses all layouts to 1 column; tablet (\u2264900px) collapses 3\u20134 columns to 2.<\/li>\n<\/ul>\n\n<p>Admin UX<\/p>\n\n<ul>\n<li>Admin sidebar menu label changed from \"WPYog Documents\" to \"Documents\".<\/li>\n<li>Admin sidebar icon now renders correctly on all admin pages (not just document screens).<\/li>\n<li>Updated Author and Author URI to poppinsdigital.com.<\/li>\n<li>Updated plugin description shown in the WordPress Plugins list screen.<\/li>\n<li>Shortcode column in the document list retained for quick copy.<\/li>\n<\/ul>\n\n<p>Bug Fixes<\/p>\n\n<ul>\n<li>Fixed missing <code>wp_reset_postdata()<\/code> after both WP_Query loops \u2014 was corrupting the global <code>$post<\/code> for anything rendered after the shortcode.<\/li>\n<li>Fixed incorrect <code>esc_html()<\/code> on an array in the single document shortcode.<\/li>\n<li>Fixed <code>wpautop()<\/code> wrapping shortcode output \u2014 was injecting <code>&lt;p&gt;<\/code> tags inside <code>&lt;ul&gt;\/&lt;li&gt;<\/code> causing invalid HTML.<\/li>\n<li>Fixed <code>$wpdb-&gt;prepare()<\/code> usage \u2014 SHOW TABLES query now uses <code>prepare()<\/code> with <code>%s<\/code> placeholder and <code>esc_like()<\/code>.<\/li>\n<li>Fixed unsafe <code>$wpdb<\/code> direct table name interpolation in legacy upgrade routine \u2014 now uses <code>esc_sql()<\/code>.<\/li>\n<li>Fixed description overflow in multi-column layouts \u2014 switched from <code>margin-left<\/code> to <code>padding-left<\/code> with <code>box-sizing: border-box<\/code>.<\/li>\n<li>Fixed title text rendering vertically in document list \u2014 added <code>flex: 1; min-width: 0<\/code> to title link.<\/li>\n<\/ul>\n\n<p>Code Quality \/ Security<\/p>\n\n<ul>\n<li>Removed <code>extract()<\/code> from shortcode function \u2014 replaced with explicit variable assignments.<\/li>\n<li>Scoped admin CSS and JS to wpyog_document post type screens only (was loading on all admin pages).<\/li>\n<li>Added <code>WPYOG_DOCUMENTS_VERSION<\/code> constant for proper asset cache-busting on updates.<\/li>\n<li>Added <code>if ( ! defined( 'ABSPATH' ) ) exit;<\/code> guard.<\/li>\n<li>Prefixed all template variables with <code>wpyog_<\/code> for WordPress coding standards compliance.<\/li>\n<li>Renamed <code>save_wpyog_document_meta_data<\/code> \u2192 <code>wpyog_save_document_meta_data<\/code>.<\/li>\n<li>Added translators comment for aria-label sprintf call.<\/li>\n<li>Frontend CSS now loads only when a shortcode is present on the page (lazy load).<\/li>\n<li>All upgrade notices trimmed to under 300 characters.<\/li>\n<li>Tested on WordPress 7.0. Requires WordPress 5.0+.<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Added other file type icons.<\/li>\n<li>Tested on WordPress 6.9.<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Security enhancements.<\/li>\n<li>Added wp_unslash() to unslash user input.<\/li>\n<li>Added text domain for translation.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Added new route to download the file.<\/li>\n<li>Security enhancements.<\/li>\n<li>Added nonce to meta fields of the plugin.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Added sanitize function for the text input field.<\/li>\n<\/ul>","raw_excerpt":"Upload, organize, and display documents (PDF, Word, Excel, PowerPoint) on any page using a simple shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/70689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=70689"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpyog"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=70689"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=70689"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=70689"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=70689"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=70689"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=70689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}