You get the error because WordPress attempted to parse the request which means WordPress tries to find a resource such as a post or category archive which matches the request URL (/download.php
), and when not found, WordPress sets the HTTP status header to 404 Not Found.
So to fix the issue, you could use parse_request
instead of template_redirect
, or call status_header()
when you set the other headers. E.g.
if(file_exists($file_path)) {
status_header( 200 );
// ... your code.
}
And BTW, as I said in the comments, you should use readfile($file_path)
— just a reminder..
Related Posts:
- How to get WordPress’ hooks/actions run sequence?
- How many times can I hook into the same action?
- Is there a hook before the user is authenticated?
- Hook into WordPress update?
- switch_to_blog(): Load textdomain
- Can I hook inside another hook?
- Adding function directly vs using hook in function.php
- How can I send to multiple Contact Form 7 recipients based on form input? [closed]
- What is the action hook for save media-form on gallery tab?
- Check if action hook exists before adding actions to it
- Post-Registration, post-meta hook?
- Removing action added from constructor
- after login that will redirect user role into a page
- Create hooks based on an array of hook names?
- hook for lostpassword form
- Access post meta just after publishing
- update post meta using user_register hook not working
- how to create endpoint for downloading pdf files?
- hook to get (and change) the search string before processing
- Is there a recover_post hook to go with trash_post hook?
- Seeking Hook Whenever a Custom Taxonomy Term Has Been Added
- How can i trigger an action manually?
- Can I trigger the publish_post hook by using wp_insert_post?
- How to override languages files in wp-content/languages/themes with child theme
- hooks & filters and variables
- How to increase password requirements for registration [closed]
- Can user_register output the password?
- How to check what kind of saving it is?
- Run add_action hook if condition
- Gutenberg gallery hook errors
- How to change title attribute returned by comments_popup_link()?
- How to use do_action_ref_array?
- Problem using role_has_cap hook
- Setting Cookie with init hook causes ‘header already sent’
- How to find hooks as per Just-In-Time approach?
- WordPress action and filter hooks runs asynchronously?
- Prevent attachment from being deleted
- Update post meta using pending_to_publish hook
- Get log of function/method calls made by do_action() on WordPress initialization
- Checking post format during xmlrpc_publish_post
- Is it possible to change image urls by hooks?
- Hook for when a page template is changed
- User update hook
- Save acf field data via acf/save_post before post is saved
- register_activation_hook not updating
- Redirect customer to login if not logged in when proceeding to checkout
- Checking login status before wp_get_current_user is initialised
- PHP header() gives headers already sent
- Send along login credentials with comment content
- How to replace a function using a child theme?
- WP_query hooks before execute a search query
- How to pass argument to wp_footer hook with data from a template
- Which action hook should I use to intercept a form upon submission?
- Would there be anything stopping me from removing both wp_head and wp_footer?
- Redirecting from login
- How to use a 3rd party library to send emails?
- I would like to send a notification email (Asana) whenever something is published (posts, pages, custom post types) [duplicate]
- Woocommerce table is missing a heading–can I add it by use of a hook?
- Use a variable created in get_header to calculate stuff in wp_footer
- register_deactivation_hook argument -> pass arguments in the selected function
- Alternative to new_to_publish Hook for Custom Statuses
- How to use a WooCommerce action hook?
- WordPress plugin activation, deactivation and uninstall hook not being triggered
- Hook for inserting?
- How to stop WordPress from updating the post meta
- Can an RSS item be altered with a hook?
- Block Update Profile Errors
- Bloginfo hook – can it be more precise?
- Thickbox ‘tb_unload’ function being called twice
- How to remove a meta description or other contents
- Hooking save_post breaks check for term in added_term_relationship hook?
- Restrict editing of post type to list stored in user meta
- Delay action unltil the untill previous (hoocked) action is completed
- Rewrite the search page to use an appended slug + parameter
- What is the hook to remove a menu items group from Appearance > Menus column Add menu items
- Add stuff above header edit form
- do_action not working in loop
- Transition_Post_Status hook not working properly
- add_action doesn’t work for my function
- Add HTML code before the title of the Tag page
- Undefined fieldId in gform.addFilter for limiting dates in datepicker – Gravity Forms
- WP_mail() Issue. Duplicate emails if $_GET[‘A’] == email
- Hooks with same priority number. Can one stack items returned in divs, position: absolute each with their own z-index?
- trying to locate the correct file to edit my internal linking anchor tags
- Can add_image_size be added earlier
- Hook to change Author Info
- WordPress save_post hook not firing when checking if _GET[‘post’] is set
- Send email to post author 1 day before his project ends
- can’t access dashboard and showing forbidden page
- prepopulate form from a hook within wordpress function.php file
- Query author’s posts & posts that have author’s id as meta value
- Change Title Type
- admin_post hook not working
- What is meaning of BEFORE and AFTER in this hook name?
- How to display before H1 Title
- How to set Post ID from context to an attribute in child block of Gutenberg Query Loop
- WP: Override/update the_content from database with the publicly echo the_content
- What is the equivalent hook for both admin_head() and wp_head() combined, if any?
- Search WordPress Hook for completed Elementor Update
- How to filter the URL of thumbnail size in the Media Grid and admin pages