You are currently missing two parts: storage and interface.
And yes, it would make sense to handle this via media library, in which case you will probably be storing attachment IDs.
Storage is easy, Options API is trivial to use.
Interface is a little more involved. To this day WP doesn’t quite provide a native way to easily build interfaces. Facilities provided are a bit low level.
You can use Settings API, but it’s quite involved and doesn’t get you all the way to form elements or media management.
You might want to search for existing frameworks/helpers, meant to implement settings pages.
Related Posts:
- What is This esc_html_e() i wordpress php?
- How do I change/modify the_post_thumbnail(); html output?
- How to add a class to the attachment images
- How to draw media details for Isotope gallery using Photoswipe
- How to register images uploaded via FTP in media library?
- Build a content and excerpt grid loop with paging and options for # of posts
- Displaying post per day
- Add custom image sizes to media uploader
- How to add active class to custom menu using while loop and wp_list_pages
- delete an array element when its date expires
- How can I loop into two different DIVS without repeating the DIVs
- Using wp_get_image_editor in a standalone script
- Change logo based on incoming domain
- How to speed up a wordpress function with multiple loops?
- Custom excerpt function re-factoring
- Convert all images to PNG on file upload
- How to get specific image in media library with php
- Get first URL from post content
- Cannot display or echo alt text on featured image
- Set the background to a default image if there isn’t a specified “featured image”
- Show css depending on activity type in BuddyPress activity-loop [closed]
- How to control WordPress image metadata (using Imagick)?
- get author_name from queried post
- Blog posts repeat
- how to refresh div on template part?
- Can’t find infinite loop cause
- Checking array against author id in loop
- Scrape external webpage for first image and add it to new post
- Add class to group inner container
- Custom Pagination is Broken
- How to loop through all the attached images in a post, and get their url one by one
- Show ACF field with link to ultimate member profile/WordPress user profile below the post (single post layout)
- My website is not showing Footer section
- Only show first image in foreach loop
- use loop to return blog details
- How to get current post category details inside “loop”?
- Calling function in loop causes repeat data
- Posts are not looping through correctly
- Else/If Statement to Display Photo Descriptions
- Image rotation issue (horizontal picture uploading as vertical) — Exif issue?
- Strip from or something better?
- Adding a ‘style=’ bit to image_send_to_editor output
- Convert all uploaded PNG files to PNG-8 format
- Search AJAX Filters – Multiple Query Loops Into One Loop (Optimization)
- How to Add a cutsom slug to my custom author role
- Retrieve alt text by referencing the img src
- Products listing check if meta checkbox is checked
- How to Create Carousel Indicators in PHP Loop using wp_get_attachment_url function?
- How to output the taxonomies that are assigned to each custom post?
- not outputting medium size image URL
- How to use data URL in WordPress?
- update_user_meta as multiple value but with same meta key
- cURL needing to loop through all “next_page”
- How to bind each “the_content” elements to a custom variables
- WordPress Ajax filter: Create two loops for different output styles?
- How can I get my pagination loop to display the correct number of total pages?
- How to sort (orderby) a query done by a template function before the ‘foreach’ loop?
- How fix error in the WordPress loop?
- what’s the syntax for if the image exists get the image?
- Problems with the WordPress loop [closed]
- How do I get the featured post to share on Social Media and show on Individual Post pages?
- My query keeps looping infinitely ! how to stop it?
- How do I routinely extract the thumbnail of the most recent post?
- add class to background image
- Modify category archive page loop on functions.php
- Extend the WP_Customize_Image_Control class to change its non-frame $button_labels
- My customizer’s setting doesn’t set to the default and needed to click the control’s “Default” button before it’ll be set
- Save the outputted image into the Media Library, with a different filename and extension
- How to display thumbnail if post is assigned one otherwise not
- Pagenav Not appearing on custom Template
- add if statement to the featured image
- Options.php loop won’t show!
- Loop on a wordpress Page instead of content coming from the WP text editor
- Remove default Image Sizes
- Understanding responsive imagery
- WooCommerce: write featured image dimensions to custom fields in product’
- Generate and upload screenshot as featured image for user-submitted post
- Cleanest/Fastest way to avoid calling and retrieving data from the database multiple times?
- WooCommerce – Display variation custom field value [closed]
- Woocommerce HTML email option unavailable
- Use template for posts with a particular category grandparent
- How to slow down server response
- Facebook “like” open graph meta in header.php
- Use menu link or onClick to set a variable
- Create highly customized submenu (possibly using wp_list_pages)
- $wpdb->wp_users returning empty value for
- WordPress Custom field Colors
- Can we count the WordPress Loop
- How to use array in function to get only value I want
- add_filter function concatenate string and locate_template function
- How to return a string that has a jQuery and Ajax inside in a shortcode?
- pagination broken – clicking next displays “page not found”
- How to check post meta isset or not empty during publish/save post?
- how to changes mobile menu toggle breakpoint in WordPress
- Get page permalink in contact form
- How to display already created menus via php?
- remove_action from parent theme using child theme functions.php
- Pagination 404 error(I have refreshed the permalinks and tried several previous options)
- Overwriting a Shortcode
- add_rewrite_rule image from /images/site2/favicon.ico to /favico.ico