Dynamically create file in WordPress upload directory & make it as post attachment
Today, I need to create a text file in WordPress upload directory with dynamic content. Also need to set it as an attachment to a WordPress post.
Here is the quick function for this pourpose.
function create_attachement($data, $post_id){
$file_name = 'your_file_name.txt';
$upload = wp_upload_bits($file_name, null, $data);
if(!$upload['error']){
$wp_filetype = wp_check_filetype($file_name, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => preg_replace('/\.[^.]+$/', '', $file_name),
'post_content' => '',
'post_status' => 'private'
);
$attachment_id = wp_insert_attachment($attachment, $upload['file'], $post_id);
if($attachment_id){
//return $upload['url'];
return $attachment_id;
}
return false;
}
return false;
}
Looking for a skilled WordPress/WooCommerce developer? I'm currently available for freelance, contract, or full-time remote opportunities! Let's create something amazing together. Send me a quick message, and I'll respond within 24 hours!
Recent Posts
- Automating Code Linting with GitHub Actions for WordPress Plugins
- Comprehensive Guide to Linting PHP, JavaScript, and CSS in WordPress Plugins Using Composer
- The Ultimate Guide to Indexing in Database Design
- Understanding 'update_meta_cache' in WordPress - When to Use It, When Not to, and Its Impact on Database Queries
- A Guide to Configuring JavaScript and SCSS Paths in WordPress Plugins with @wordpress/scripts
Your Questions / Comments
If you found this article interesting, found errors, or just want to discuss about it, please get in touch.