Well, as it usually goes, after banging my head on this for hours yesterday and then finally deciding to ask for help, I was able to solve it within a few minutes. Here is what I needed to change:
public function init() {
// add_action('admin_menu', array($this, 'add_plugin_admin_menu'));
$this-> add_plugin_admin_menu();
}
Clearly, I have much to learn about the call chain in WP.
Related Posts:
- Passing arguments to a admin menu page callback?
- How to debug a plugin with Xdebug?
- Admin settings update updating every time home page is hit?
- What’s the best method for emptying an option created with the Settings API?
- Get list of scripts / styles and show file which enqueued them
- What is the recommended way to create plugin administration forms?
- How to add a new plugin page under desired Options page?
- Is it possible to add an admin page using add_submenu_page() and pass a var in the query string?
- How to get vim to autocomplete WordPress API functions?
- Overwriting Core WordPress Functions with Plugins
- Naming Admin Menus and Submenus
- Current class on admin menu using add_submenu_page()
- Add Admin Menu Inside Construct or Init
- Adding callback function for wp_ajax_ has no effect
- How to debug WordPress correctly?
- Hook event for upload image in the menu
- Menu Error in Admin Console with Custom Plugin: You do not have sufficient permissions to access this page
- add_menu_page() with function inside a class [duplicate]
- How to add Font Awesome 5 icons in WP Admin dashboard menu?
- How to put placeholder text in the main post input area?
- Unified Approach for Placing Option Pages
- Plugin with specific admin menu icon
- Find source of notice / warning / errors efficiently
- OOP Plugin and Menu – Call to undefined function register_setting()
- How to debug a unit test for a WordPress plugin, which uses wordpress-test?
- Global State During an Admin Post
- Howto: Use Custom Post Types as Submenu Items in Admin
- Sub Menu content is being duplicated
- Set different custom menu items for different user roles
- Show/Hide ‘add new user’ custom fields in wordpress admin panel by click another field
- Bootstrap doesn’t work on admin menu page-How to override wp-admin style?
- is it recommended to use WP_List_Table?
- Plugin sub-menu pages recommended structure and links
- Creating Admin Plugin – Content of a page is displayed at global scope as well
- Add a page in admin without adding menu item
- Silently register plugin pages
- WordPress debug messages not displaying
- WordPress theme options Menu
- Print Dashboard submenu name and filename
- I am trying to make a page in the admin section similar to the appearance of the Profile page for users
- Getting a WordPress Debug Strategy
- Disable Auto-Expanding Menu in WordPress Admin Menus
- in_array function Problem
- How do I debug an error that a plugin is causing?
- Use options to control jQuery plugin
- Restrict certain actions to plugin-specific admin menu pages only
- Proper way to create an administration page without adding it to the menu
- Pause plugin option page until all data manipulation is complete
- How to add text editor in plugin menu?
- How to make an admin plugin menu page go full screen?
- How do I specify where to save the debug.log?
- Problem in plugin debuging in wordpress
- How to add admin.php to WP Admin Menu Link
- Convert each new line in the textfield as a new value in an array
- How put the correct URL to sub-menu plugin?
- Developing a plugin where users can edit entries saved in database
- Add a description/hint field in the admin page of a plugin
- Forcing ALL plugin Admin menus into a separate menu
- Link to a admin submenu item using a custom link
- Plugin admin list pages as submenu
- Change Admin menu placement using hooks
- Menu_slug used for creating options page
- How to design WooCommerce-like admin tabs for plugin settings page?
- Show Admin Menu
- adding an options menu that allows saving multiple sets of said options
- Objective Best Practices for Plugin Development? [closed]
- wp_mail is undefined
- How to: Rest endpoint returning empty object
- Ensuring a plugin is loaded/run last?
- Plugin options table,is the data serialized
- Sample — test — data for large WordPress install
- DIR vs URI when defining a path to a file
- JS / JQuery form validation in backend admin menus
- Is using register_activation_hook required?
- How to send email in wordpress with more than one attachments
- Is there an action like ‘after_register_custom_post_type’?
- Frontend language per user
- How to get results of subcategories also?(WP Rest Api v2)
- dbDelta using Foreign key not working on update [duplicate]
- Plugin widget zindex changes depending on theme [closed]
- Plugin templates vs Parent Theme
- Add a new confirmation page before saving
- Plugin is not generating title tags on any pages or posts
- Plugin Development/ Stop CSS clashes.
- Add Link Category on Activation?
- Creating multiple wp_editer() text fields in for loop — the text/visual switch only works for first editor
- Create page (not the post type) dynamically
- Translate javascript with WordPress built-in localization API for static strings
- Include HTML (Bootstrap Modal Box) with a plugin into my header
- Using init hook for register_taxonomy is causing invalid_taxonomy in wp_insert_term()
- How can I prevent ‘500 internal server error’ because of a long install process?
- Displaying custom content from a plugin within the active theme
- Code for cron to delete posts that contain specific expression (e.g. “unable to fetch” every 30 minutes
- pull data from wordpress database
- Virtual Page with Registration form
- How to display .ptm file in my WP site without JAVA
- Getting similar posts by custom field value
- Does WP REST API cache internally executed (rest_do_request) requests?
- Trouble Importing whatsapp-web.js in a WordPress Plugin Development
- ‘useSate’ error when using React on the frontend in custom block plugin