add_filter( 'upload_mimes', function( $mimes ) {
if( current_user_can( 'manage_woocommerce' ) ) {
$mimes['exe'] = 'application/octet-stream';
$mimes['pkg'] = 'application/octet-stream';
}
return $mimes;
} );
add_filter( 'wp_check_filetype_and_ext', function( $data, $file, $filename, $mimes ) {
if( ! empty( $data['ext'] ) && ! empty( $data['type'] ) ) {
return $data;
}
$wp_file_type = wp_check_filetype( $filename, $mimes );
if( 'exe' === $wp_file_type['ext'] ) {
$data['ext'] = 'exe';
$data['type'] = 'application/octet-stream';
} elseif ( 'pkg' === $wp_file_type['ext'] ) {
$data['ext'] = 'pkg';
$data['type'] = 'application/octet-stream';
}
return $data;
}, 10, 4 );
Enable EXE and PKG files for WooCommerce digital downloads
Enable executable files EXE and PKG for WooCommerce digital download file management.
How to use
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
