I actually wrote a plugin to accomplish this very thing …
WP Publication Archive is a plugin for WordPress that specifically adds the ability to create objects like this. It introduces a custom post type for documents/publications that feature a downloadable file (i.e. PDF) with a title, description, tags, and authors taxonomy.
You can create multiple “collections” of publications by applying categories, then using a category filter within the shortcode on a page. For example:
[wp-publication-archive categories=cat-1 /]
Would present a list of all publications in the “cat-1” category.
Here’s an example of what an unstyled publication list (with only one download) would look like:

Related Posts:
- How to maintain W3C standards compliance of a theme
- How to export comments in WordPress?
- Load plugin on specific page only
- Does a plugin’s “main” file need to be named the same as the folder containing it?
- What causes the “Are you sure you want to do this?” error with plugins?
- Plugin or mod for wordpress to make content publication SUPER easy
- enqueue script only if it is not already enqueue
- Display (and manage) webcam images?
- Overwrite textdomain of plugins by default – Lost Translation
- jQuery plugin only in one page/post
- Google Analytics post views in WordPress? [closed]
- scheduled event not getting executed
- How can I limit functionality in one version of a plugin?
- Any way to use a custom Parameter for youtube embed without using an iframe?
- Hook (upgrader_process_complete) running moment
- How do I add a template to a theme using a plugin?
- How to Add TinyMCE’s plugin in wordpress?
- Can’t see login page after migration
- How to import 55k images (uploaded via FTP) into WordPress Media libary? [closed]
- AJAX image upload with a upload progress bar using media_handle_upload
- Debugging Technique Question re: functions.php
- Custom Taxonomy Tag Search
- Advanced Custom Fields
- How to create a plugin that notifies for updates?
- Retrieving plugin options value saved through setting
- An issue with SEO Ultimate
- How do I modify the position of a plugin?
- With W3 Total Cache when I publish a post it does not appear in the homepage. Only if i purge all cache [closed]
- Add a custom form on the post-new.php admin page
- how to give a user a role?
- Trouble with editing template for “List category posts” plugin
- Upgraded to latest version – 3.0.3 and Now I get a “sufficient permissions to access this page” error
- Enqueue WordPress plugin scripts below all other JS
- How to show WP addon installation path during installation?
- Arrays not working in my add_options_page
- Replace default og:image tag YOAST
- Automatic plugin updates not working
- Fromcraft Plugin On click submit button [closed]
- A include_template Question
- How to change upload dir for custom plugin?
- Trouble with very basic plugin creation
- My single.php page does not show the related data to the post which is clicked
- Creating a CSV with PHP inside the plugin directory
- Moving a plugin js to footer
- flush_rewrite_rules() not working with update_option_{$option}
- correctness of URL
- How to ignore extra whitespaces in translation functions like _e?
- Can backlinks to my site increase my chances of plugin rejection
- Price comparison table based on Custom Post Type?
- The “Child Pages Shortcode” plugin, block template
- How do I determine if the user who registered is not spam?
- display unique post per category
- Is there a way to insert multiple images into a post at the same time without using a gallery?
- How to get a custom page through plugin?
- Filters on the_content with plugins, pages and shortcode
- Plugin to send messages to members/lists but not full-blown newsletters
- How to create a plugin page that shows XML?
- Plugin prevents code from working
- Determining Whether Automatic Upgrade will Fail?
- How to make WooCommerce payment method field optional?
- can’t install any wp plugins [duplicate]
- Add Plugin broken after removing Booster for Woocommerce
- WP_CONTENT_DIR disables plugin directory
- WordPress Custom Hook with Class method
- How to display the custom post related blog by category?
- Overriding inline !important CSS with Javscript code snippet with media query
- WP Forms not displaying,becomming an fatal error
- Undefined index: custom_post_template_present
- Ensure WordPress Theme Uninstalls Completely
- Image path in childs theme
- Using foreach loop for `$instance` of form and update array widget iteration
- Login issue in WordPress
- Mobile and Tablet responsive in Elementor but not on the actual site?
- WordPress backend post update without refresh
- Warning: sprintf(): Too few arguments in nav-menu-template.php
- how to insert thousands of posts faster?
- Redeclare a plugins function/class in my theme?
- RSS icons have the same Alt tag. Lighthouse is failing these elements. How do I display different alt tags for each icon?
- Coupon Codes for product discount combined with conditional free shipping
- How to fix slow comment query?
- wp meta_query meta_value compare =REGEXP delimited by space
- Sending post data over REST API, how to parse shortcodes in post_content?
- Primary Menu doesn’t show because of w3 cache
- How to insert variable which contain array value in wp_options table?
- Wp Ecommerce Reposition Product Page Product Thumbnail Image
- Array to string conversion error when trying to POST multidimensional array
- How to test a WordPress plugin on a single post?
- WordPress Permission Problems on Ubuntu 12.04 with LAMP stack
- How to Overwrite validate_plugin function
- Plugin and javascript placement
- Disable plugin function
- Form data to wordpress DB
- Is it possible to send user new password after they clicking on forgot password in word press
- Register additional wp plugin directory
- How to prevent page load on form submission
- Send email notification when meet the condition
- How to validate password length in wordpress
- URL Redirect on GoDaddy platform [closed]
- Cannot edit Sidebar in any theme in wordpress
- how to update wordpress plugin programmatically using plugin path