Best place is the uploads
directory – it’ll be writable by the server, and it’s the defacto directory for storing any user-generated/uploaded files:
$dirs = wp_upload_dir();
$path = $dirs['basedir']; // /path/to/wordpress/wp-content/uploads
Related Posts:
- WordPress API Menu/Submenu Order
- How to move page template files like page-{slug}.php to a sub-directory?
- How To Add New Option Types To Option Tree?
- Add a dropdown to theme customizer
- Setting multiple default background images?
- Best practice way to implement custom sections into a WordPress theme
- Best practice (forward compatibility) for theme options
- How Can I Create a List of Values to Be Iterated Through via WordPress Customization API?
- Is there a way to activate different theme for specified users? [closed]
- Set multiple templates per post
- qTranslate with my own theme and settings
- get_option in header.php not returning value from customizer
- Internal error 500 accessing Theme > Customize
- Can I have two different theme for two different language?
- How to add “Template” option in page attributes panel?
- Single Page Design, Storing in Theme Options
- How to enqueue javascript for WP Customize options sidebar?
- correct tags for validating input types
- What is the meaning of WordPress’s recommended css classes and where are they applied?
- How can I change the theme of different posts using a plugin?
- Copying the theme style files and images to duplicate the website but with a difference
- Alignment Problem [closed]
- How do I include a partial from a directory below a wordpress theme directory?
- How add built-in textarea in theme development?
- help needed for suit designing tool
- Customizer API Multi Sections in single Panel
- Theme does not allow shortcodes
- What is an alternative to not using child theme to customize a WordPress theme?
- using themename_the_custom_logo() in template-tags?
- how can I re-utilize and class on a child theme
- Using Customizer value in an external PHP file inside a theme
- “No Data Received” error in Chrome every time i try to update the theme functions file
- WordPress two sidebar layout or theme
- Theme automatically inserting “more” tag on every post
- Turning WordPress Into full-featured website?
- How to show associated fields if checkbox is checked in customize widget screen using wp_customize?
- TItle In Latest Post is not using H1 Tag [closed]
- Sizing screenshot.png without losing aspect ratio
- Should `get_template_directory_uri()` be escaped?
- Why doesn’t default WordPress page view use force_balance_tags?
- Automatic Updates For Private And Commercial Themes?
- What can I hook into after_setup_theme?
- add_image_size is scaling, even though crop is set to true
- How to use bloginfo( ‘template_directory’ ) in array
- Setting a Default ‘Theme Location’ When Creating a Menu
- How to set page template on front using starter content?
- Different Admin Theme – Based on Role?
- Finding Page Template and Displaying Content
- Override Constants in Child theme
- Same theme name issue with wordpress repository theme
- Removing feeds from header using a function?
- How to add theme support?
- Translation Issue with WordPress Theme Check in comment_form function
- Using esc_url with a hard coded url
- Broken template went invisible
- WordPress theme switcher
- Limitations when modifying wp_title with a filter
- How to edit theme functions file to modify pagination?
- WP_bootstrap_Navwalker_issue [closed]
- Font Awesome 5 Free – far working but fas is not? [closed]
- Efficiency of wp_options vs a new table
- WordPress 3.8 Backend Admin Color Scheme add more scheme how to do?
- Theme thumbnail in dashboard
- How to change the theme directory uri for localhost?
- Will my site get messed up when the wordpress theme updates if I edited the html code in the editor to change footer?
- How to correctly enqueue the parent and child theme stylesheets in the creation of a child theme? [duplicate]
- featured content: which area does this cover [closed]
- Which cache is kicking
- searchform.php doesn’t work properly
- How do I merge 2 WordPress Themes?
- why need theme,if page builder is there in wordpress [closed]
- Customizer: get_preview_url() inside customize_save_after hook
- Shortcodes do not work in own template
- Adding Bootstrap to WordPress TwentySixteen Theme
- Is there a way to switch to another theme?
- When trying to set title, not sure how to edit it for different pages
- Post archives link yields a 404 Not Found
- Get video from the post on homepage
- static front page ONLY for certain themes?
- How to add cropped custom header image?
- WordPress Themes Directory: Template which hits the standards?
- How to change a local wordpress installation xml export file urls? and change them to what if you don’t have a live website?
- Any way to change/add to the theme name dynamically?
- Let user to upload multiple time
- How to make menus, footer, sidebars multi language
- Different WP Rest API custom endpoints across different themes
- register_theme_directory() sees custom themes directory, but blank frontend
- how to call options on front end and add logo
- How to create multiple pages in a client theme?
- Import from HubSpot COS into WordPress 4?
- Theme customizer live preview JS- Trying to bind to an html image url without luck
- How get the 10 most viewed pages (not post)
- wp_deregister_script was called incorrectly
- Using wp_enqueue_script with social media buttons?
- Undefined index: debuging error for theme option template snippet
- Purchased Theme to Custom Made Theme? [closed]
- How to make website with many template that active [closed]
- How to create full header but keep content narrow
- Correct way to make a custom block theme responsive
- Meaning of “if ( is_home() && ! is_front_page() )” snippet?