This tutorial is pretty awesome for explaining the basics, and you end up with a nicely styled options panel at the end of it too. There are a few such tutorials around, it’s surprisingly easy to get the hang of.
I’ve never tried it but you should be able to add a bit of PHP checking whether the current user has a high enough permission level and displaying an error message if not, or just to stop it from adding the link to the options page in the first place. Best to get familiar with how to actually build the page first, however.
Related Posts:
- Passing dynamic options from backend to frontend
- Problems to disable the comments for my statics pages
- How to include stylesheet in custom admin using parent_slug
- Best practices for a Style/CSS based theme options page?
- Any official way to create an admin theme?
- Moving WordPress.com theme and widget settings to self-hosted site?
- Multisite: setting theme and options when a new blog is created
- Copying theme from Localhost to Live does not copy all theme settings with it?
- Register theme customizer settings when theme activates [duplicate]
- Exclude stylesheet from admin
- How get Themes list via REST api?
- Activate a new WordPress Theme Only for Admins
- How to mark an option as selected
- Add transparency to wordpress color picker?
- How can I show more than 15 themes at a time in the admin menu?
- Working with an Array inside Your Theme Options Array – Multiple Values
- How do you get thumbnails to show up in the admin edit post?
- Theme Development Admin Area [closed]
- Add a series of checkboxes to theme options
- What’s the order of loading wordpress elements?
- How can I display/hide certain content based on a Theme Option field?
- Posts and Pages not showing on admin, but showing in theme
- loss of theme options while site deployment in production
- Theme settings default, strange behavior before first save
- How to find out if page_for_posts is showing (in order to style menu item)
- New custom theme option (text input) giving index error
- Full page (no WP admin menus and options) admin theme options
- How to display message (with switch_theme hook) after deactivating My theme?
- How can we hide the parent’s theme url at the child themes details on a multisite?
- How to switch theme if the current user is admin?
- How to dynamically change theme’s slogan from admin?
- How to reset a custom theme
- Theme javascript/css 404
- WordPress setup one database with two different website?
- How to remove permalinks links presents in each page of my site?
- Get data from Theme Options and use them into meta options field in custom post type
- I made new theme directory, why won’t it show up in admin GUI?
- What’s the easiest way of adding more options in the Theme Options of the twenty eleven theme?
- What is the most efficient way of adding additional functionaliy for admin only
- Is there any way to modify images from a theme using the web interface?
- How to implement theme option to change bootstrap 4 container from .container to .container-fluid
- Can i add wordpress editor to my custom theme option? [closed]
- Theme Options Menu Item – Permission Issue
- How to change background color in the Notepad++ text editor?
- How to change or add theme to Android Studio?
- WordPress frameworks and parent themes [closed]
- Opinions and recommendations on the best barebones base theme [closed]
- Remove JSON API links in header html
- Using OOP in themes
- Where can I download WordPress themes from? [closed]
- How can I allow the Editor Role to change Theme Settings?
- Adding an Arbitrary Link to the Admin Menu?
- What are all the available parameters for query_posts?
- Customizing a WordPress theme without changing it?
- Where can I learn to create my own theme?
- How do I turn off self-closing tags for markup in WordPress (for HTML5, or HTML4, for example)?
- how to add version of style.css in wordpress
- Does WordPress work without a theme?
- What is the role and history of the $content_width global variable?
- Adding admin-ajax.php to the frontend. Good or bad idea?
- How to move the sidebar in TwentyFifteen to the right?
- How to Link External jQuery/Javascript files with WordPress
- Installation failed: Download failed. No working transports found
- What is theme-compat?
- Override parent theme translation on child theme
- WordPress Theme activation hook?
- Can wordpress theme folder name be changed freely and nothing technically happens
- Link to specific Customizer section
- What does exactly GPL license mean for my WordPress theme?
- Am I allowed to license my WordPress theme under the aGPL
- How do I change the header image height in Twenty Seventeen?
- Starter Theme vs Parent Theme? Pros and cons
- How to change the language for the front-end only?
- W3 Total Cache, CDN and theme files [closed]
- Best way to include Bootstrap in WordPress
- How to set thumbnail image for a (child) theme
- Different template of products for specific category. WooCommerce
- This CSS Stuffing Works, But Is This A Good Practice?
- Show different theme for admin?
- How can I version the main CSS file?
- what the best way to include images from the template’s images folder?
- Is it OK to remove theme credits from footer? [duplicate]
- Undefined offset: 0 in > […] /wp-includes/capabilities.php on line 1067
- How can I get the title attribute from get_the_post_thumbnail()?
- Dash or underscore in theme folder name?
- No “Add New” Button. How to add new theme?
- How do I add support to my theme for custom menus?
- “Unexpected error” on update requests
- How to prevent plugin, theme installation failures on WordPress?
- How do I white label my self-hosted site created by wordpress?
- Do Child-Themes automatically load the Translation from the Parent-Theme?
- When cropping a header image, retain meta data (i.e. name, description, etc.) from original image?
- How To Add New Option Types To Option Tree?
- How to create a new theme from scratch?
- Categorising themes by folders in backend
- Switching themes without losing widgets?
- How to use media upload on theme option page?
- Dynamic template serving, change theme_root using add_filter from current theme
- What theme is good for posting code? [closed]
- WordPress 5 / Gutenberg – theme doesn’t have featured image option showing up