The pdf is itself an attachment post so in wordpress template hierarchy we can create a template named pdf.php Then you can write following code in it which force download the pdf file.
<?php
if (have_posts()) :
the_post();
$pdf_title = $post->post_title;
$pdf_src = get_attached_file($post->ID );
$bytes = filesize( $pdf_src );
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=\"".$pdf_title."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$bytes);
ob_clean();
flush();
readfile("$pdf_src");
endif;
While linking the button link to its attachment page( not the file url) and the job will be done. Good luck.
Related Posts:
- Where do the favicons for Media Files come from
- Extend Media Library
- WordPress 3.5: Setting custom “full URL path to files” in the Media Library?
- How to show all available images in WP’s media library when using the Polylang plugin?
- Which filters or actions to use after a media upload and delete?
- Protecting direct access to PDF and ZIP unless user logged in (without plugin)
- How to wp_upload_bits() to a sub-folder?
- “Add Media” only shows “Full Size” under Attachment Display Settings
- Is it possible to trigger some JavaScript when Media Popup is opened?
- How to call WP3.5 Media Library manager?
- Password protect some uploaded files, so only logged-in users can view them
- How to protect uploads in multisite if user is not logged in?
- Append button to WordPress Image Details modal
- WP3.5 Media Uploader – how to make it accept multiple images?
- How to disable WordPress Media resize different size version?
- Media library storing files in uploads not folders within in uploads
- Add select field to media uploader that adds a class to the image
- How to host different file formats/types for a media attachment without creating multiple attachments?
- Site icons with alpha channel for self-hosted WordPress blog network
- How do I get allowed Media Library upload file extension list?
- Cannot upload .mp3 file to wordpress media
- Switch between tabs on “Insert Media” dialog
- Restrict WordPress Media Library for a specific user role (users can only see/select own media)
- Display attachments by the ID of the post being edited in the wp.media frame (frontend)
- Is It Possible to Upload Certain Attachment Files To A Remote Server
- move_uploaded_file() not working on wordpress front end
- WordPress Issue : The uploaded file could not be moved to wp-content/uploads/
- Convert (-) and (escape) signs to (_) when uploading files on wordpress media library automatically
- Using wp_enqueue_media() with switch_to_blog() issue
- How to get the return value of wp.media({ frame: ‘post’ }) in all cases?
- Media library only shows for admin. Doesn’t show editor or below [closed]
- upload_max_filesize is set to 64 MB already but WordPress is still showing 2 MB
- PHP error when trying to upload .mp3 files via Media Library [closed]
- Migrating media files (documents only) to a fresh install and maintaining the same directory structure
- How does wordpress handle media files?
- WordPress media upload issue could not insert attachment into the database
- Thumbnail images missing in WP media library
- Open Media Uploader Link in single post or page
- Remove Media File Items From Server That Do Not Exist in Media Library
- Add SWF file to wordpress through custom template
- What if I have a large file on the server that I want the wp library to have?
- Uploaded images result in a file url with full path on disk appended
- Using WP-CLI “wp media import” to sync files to the media library
- Efficient way to move media folder to another folder
- Make inline uploader (plupload) on options page upload to a specific folder
- Images not displaying on site or media library
- Replicate Media Galley Edit view in Add Media View
- Front-End Upload media with category
- How to manually set an attachment in a post?
- Media Library: Remove replace images of selected author
- Adding attachment custom field metadata to TinyMCE tag
- How to upload multiple images using WP rest API to media?
- Media not displaying other users uploads – WordPress 4.9.2
- Organizing the Media Library for Cleanup
- Issues with WordPress 3.9.6 media libraries on XAMPP
- Insert media while posting is not working with new wordpress update
- controlling whether upload is attached to post or not
- How to split my uploaded media into directories?
- wordpress 3.6 media manager cropping timestamp
- Updating Media Library PDF’s in bulk
- Image in binary in the data to WordPress media library
- How can I add custom sizes for PDF thumbnails generation?
- How to hide media uploads by other users in the Media menu?
- Multisite, upload images directly to Amazon S3
- How can I speed up a slow loading media library?
- Attach Files Metabox
- What to do with unattached logos and header uploaded via native wordpress uploader?
- Force wordpress to see uploads folder media
- Add item to media library from blob or dataUrl
- Disable TinyMCE Drag and Drop
- Trying to add filename over image in Media Browser
- Setting wp_temp_dir and permissions not working for “Missing A Temporary Folder” error
- How to overwrite wp_unique_filename logic
- How to change upload directory based on frontend form input name or ID?
- List and show uploaded pdf files dynamically
- XML-RPC: How to add media caption to uploaded image?
- Bulk edit of EXIF data for jpeg images uploaded in the media library?
- Can I change the URL of a video, or upload a video to a specific URL?
- wordpress media upload given An error occurred in the upload. Please try again later
- What relationship determines which images appear in ‘uploaded to post’ in edit/add post media dialog
- wp.media issue with selected image
- Correctly using the root directory for media uploads?
- What is the URL pattern for image thumbnails + sizes?
- limit media upload to once a day
- How to download files to WordPress?
- How to detect when a file has been uploaded?
- PDF Upload from Input Error
- Multiple images are generated in WP-content in wordpress
- Removing extra large generated images disables all crops
- MIME types not recognized by media library
- Missing a temporary folder not fixed
- How to Protect Uploads, if User is not Logged In?
- Is there some way to find if media items are used anywhere on the site?
- Media URL slugs without uploads folder path
- Frontend media shows “An error occurred in the upload. Please try again later.”
- WP_Custom_Media_Control | Give ID to media file
- All files unattached in Media Library
- Missing Images in Uploads Directory (Server Only)
- WordPress media upload multiple images
- Is there a way to force Featured image to show as attachement?