Using functions.php inside your theme will have the functionality only for that theme.
I think a simple approach will be to create a plugin or a mu-plugin as @Benoti is suggesting where you will create a settings page that will be saved on options table.
There are a few guides to create admin pages:
https://codex.wordpress.org/Creating_Options_Pages
There are also some ready made plugins like this ones: https://wordpress.org/plugins/search.php?q=options+page
From all available options I think is best to create your own options page as it is not very complicated and make it as a mu-plugin so all sites in your network will have it without the need of activation.
Related Posts:
- Theme Development: Starter Content after hook
- after_setup_theme always runs
- WordPress API Menu/Submenu Order
- What WP folder can I use to write files to?
- Form Submitting Error with get_template_part()
- Can’t get staging site to display same way as live site. Completely stumped
- How to add default images for custom backgrounds?
- How to call the_excerpt() with tags or the_content() as an excerpt?
- Display a different theme for not logged-in users
- how to test a theme upgrade
- comment_form() generates the wrong action url
- How to set path with WP_Filesystem and ftp base / chroot
- How to add paging to query
- what’s meaning of it when submit a theme?
- A two column loop with one lead post
- How to Modify a Widgets UL and/or LI Classes
- How to remove menus section from WordPress theme customizer
- new theme permissions don’t allow me to edit
- Getting Permalink within the loop
- Allow users to add custom functions to wordpress theme
- How to add custom template tag in wordpress theme?
- Doubled titles when using All in One SEO with custom template
- What page should I use for a contact form?
- Get attachments by user
- Appending a value to metabox before and after saving
- Modify the Additional CSS section (adding a disclaimer)
- wordpress custom theme import and export options for sample data [closed]
- How to hook CSS file according to theme selection in the customizer section
- I made a my own theme to WordPress and Admin Menu missing from frontend
- What program can I use to preview my wordpress site?
- How exactly *does* unit testing work for themes?
- How to remove a file included in parent theme with locate_template() via child theme?
- Can’t override template file in child theme
- wp_nav_menu add something before closing container and after last list item
- Simple way to get two language WP site
- qTranslate with my own theme and settings
- How can i initialize a widgetized sidebar (with widgets)
- How do you force a sidebar widget to have a container div around all child widgets?
- Make logo dynamic in wordpress
- jQuery not available to other scripts
- where to split off footer.php
- Does the switch_theme action run when you’re upgrading a theme?
- How to jump to newly posted comment anchor after submit?
- WordPress Filtering Custom Post Type by Metadata and Search Heirachy
- Nested comments in WordPress theme
- filemtime(): stat failed warning within a child theme
- What are the hooks in WordPress theme development?
- How can I override a require() used in functions.php of parent theme to my child theme
- Best way to develop a new theme on a live site, with new content? [closed]
- WordPress dummy data for theme design
- Can I use WooCommerce in a headless CMS setup?
- How to transfer one domain to another domain without losing theme options (customizer)?
- Do I need to include a textdomain if my theme doesn’t support translation?
- Pagination not working on page template
- adding class to excerpt
- How can I wrap all blog posts image with
- Redux Setting on custom created admin page
- Problem escaping text which contains html markups
- Avada Child Theme Development
- Single.php the_excerpt loads same as the_content not loading read more line
- Where to put custom page templates in theme?
- If user is logged in and has a role echo statement
- Is there a way to retrieve the calling template part?
- How to fix WordPress images not showing up in local hosted XAMPP server?
- Let user to add input fields on theme option page
- .current_page_ancestor broken in Twenty Eleven
- MapPress Easy Google Map in Jquery Tabs Problem
- Homepage slider not using correct images
- How to change listing type permlink?
- Calling a WP Plugin Function’s Variable in Theme Template [duplicate]
- WordPress theme header.php should I add title meta?
- Help with Core Mods
- Problems with cart and pages on _s theme
- Local variable name in setup_postdata()
- Creating a Single Page Theme correctly
- Custom post type query with pagination doesn’t work
- Fatal error: Class WP_Customize_Image_Control not found
- Child theme menu not appearing in Twenty Seventeen
- Edit Product Archive design for Woo theme
- How do I remove header/page-title image in farvis theme? [closed]
- how to edit woocommerce checkout page
- Which theme PHP file should be edited in order to change Posts appearance
- Necessary css classes to be included in theme stylesheet
- How to link post image to post link?
- How to hide blog by id wordpress multisite listing
- Get chronological page order
- jQuery conflict in WordPress, works fine in HTML
- Including some variables in function.php and echo them is several place of theme is not working
- How to override wordpress native options with theme options
- Why is including all your files within a theme folder important?
- FitVid not working for iframes on particular theme install
- How to create multiple sidebar areas with a forloop and register_sidebars?
- Make theme editor to show all theme’s files
- Saving Permalinks Results in 403 MAMP (Windows)
- add_action works outside condition but not inside it
- Bootstrap isn’t called into my WordPress theme
- Jquery Ui Tabs not working
- Adding a new layout for genesis
- Which function(s) to build a paged HTML table
- white spaces on the all sides [closed]