add_options_page("OSCommerce Product Display", "OSCommerce Product Display", 1, "OSCommerce Product Display", "oscimp_admin");
should be
add_options_page( 'OSCommerce Product Display', 'OSCommerce Product Display', 'administrator', 'os_commerce_display_main', 'oscimp_admin' );
Solution is untested. Docs: Roles and Capabilities, add_options_page
The 3rd parameter is capability, not user level or whatever you were thinking. I set it to admin, see the docs on roles and capabilities if you want that setup differently. The other error you made was having spaces in your menu slug, it might have worked that way, but it can create a mess. You should also take a very thorough look at the WordPress Coding Standards if you want to do plugin development.
Related Posts:
- One time username change from frontend?
- Objective Best Practices for Plugin Development? [closed]
- add_menu_page() with different name for first submenu item
- Autoloading & Namespaces in WordPress Plugins & Themes: Can it Work?
- How to include PHP files in plugins the correct way
- How can I add an image upload field directly to a custom write panel?
- A tool to analyze rewrite rules? [closed]
- Difference Between Filter and Action Hooks?
- framework for plugin/theme options panel? [closed]
- Creating a table in the admin-style?
- How can you check if you are in a particular page in the WP Admin section? For example how can I check if I am in the Users > Your Profile page?
- Settings API with arrays example
- How to get the path to the current theme?
- How to make a plugin require another plugin?
- ajaxurl not defined on front end
- What process do you use for WordPress development? [closed]
- What’s the difference between term_id and term_taxonomy_id
- Should I use wpdb prepare?
- Why does WordPress use outdated jQuery v1.12.4?
- Post meta vs separate database tables
- Is there any plugin development framework
- Is it possible to reuse wp.media.editor Modal for dialogs other than media
- How to add a javascript snippet to the footer that requires jQuery
- Enhance Media Manager for Gallery
- How do I create a custom role capability?
- How do I add CSS options to my plugin without using inline styles?
- How do i best handle custom plugin page actions?
- Adding Custom Text Patterns in the WP 4.5 Visual Editor
- Automatically determine minimum WordPress version required for a plugin?
- What is the advantage of using wp_mail?
- How to make a WordPress plugin translation ready?
- How many times will this code run? (or, how rich is grandma?)
- How to create an API for my plugin?
- Is it ever okay to include inline CSS in plugins?
- Plugins in symlinked directories?
- How to override existing plugin action with new action
- How to include a file using get_template_part() in a plugin?
- Add custom TinyMCE 4 Button, Usable since WordPress 3.9-beta1
- How to store username and password to API in wordpress option DB?
- body_class hook for admin pages
- “Error: Options Page Not Found” on Settings Page Submission for an OOP Plugin
- Is it mandatory to use $wpdb->prefix in custom tables
- Which hook should be used to add an action containing a redirect?
- add_action hook for completely new post?
- Why does WordPress add 0 (zero) to an Ajax response?
- What should I use instead of WP_CONTENT_DIR and WP_PLUGIN_DIR?
- How to enqueue JavaScripts in a plugin
- In Which Contexts are Plugins Responsible for Data Validation/Sanitization?
- Plugin Form Submission Best Practice
- How to redirect to settings page once the plugin is activated?
- Is get_option function cached?
- Should Plugin Folders Include a Blank index.php File?
- Unit testing for plugin development
- Methods of Integrating Plugin Data with Themes
- What is the wordpress wp-includes folder for?
- WordPress Update Plugin Hook/Action? Since 3.9
- How to include jQuery and JavaScript files correctly?
- How come `wp_options` table does not have an index on `autoload`?
- PHP error with shortcode handler from a class
- Update Option Stored in Multi-Dimensional Array
- check if Gutenberg is currently in use
- Best way to abort plugin in case of insufficient PHP version?
- WordPress Plugin Development – Headers Already Sent Message
- WP 3.3 How to Add Menu Items to the Admin Bar?
- dbDelta not creating tables
- Custom Widget function in Plugin not working?
- Passing arguments to a admin menu page callback?
- Single functions.php or split into many small files?
- Get page content using slug
- $_POST form request with admin-post
- How to fork a plugin?
- How can I configure Docker for developing and deploying a custom theme?
- How to include wp-load.php from any location?
- Correct way to enqueue jquery-ui
- Where to store PHP files created by plugin / themes
- How to echo the_excerpt without the P tag wrapper?
- How can I update a wordpress plugin from a Git repository (github)
- What are the advantages to the Settings API?
- Add screen options to custom admin pages
- Strategy On Building Plugin Using Eclipse
- How to add sub-menu to a menu generated by wp_nav_menu by using plugin
- Is There a Plugin Life Cycle Documentation?
- What do you think about custom designed plugin/theme options UIs?
- No Error Log File, no debug info
- Is it necessary to bump a plug-in’s version if you’re just updating the “Tested up to” attribute?
- Adding Widget form fields dynamically
- How to debug a plugin with Xdebug?
- WP_Query leaking absurd amounts of memory
- What is the difference between $post_id and get_the_ID()?
- How do I improve this admin query snippet to avoid generating duplicate results on non-meta searches?
- Where to store plugin settings fields
- Add self-closing shortcode button to TinyMCE in WP 4.6
- Get a path to a different plugin
- Symbolic Links on dev box with plugins and stylesheets
- How can a plugin create a page/form in the front end?
- How to check uniqueness of plugin prefix?
- Plugin API for easy admin list table generation, handling & exporting of MySQL tables?
- Custom collection in media manager?
- Settings API updated messages won’t show if custom admin page not hooked into add_options_page()
- function deactivate_plugins does not exist