Instead of add_action( 'admin_init', [ $this, 'aa_admin_page' ] );
Try: add_action( 'admin_menu', [ $this, 'aa_admin_page' ] );
Edit: And all instances of $this->$foo should be $this->foo
Related Posts:
- How to Add a Third Level Sub Menu to the WordPress Admin Menu
- How to stop showing admin notice after close button has been clicked
- Is There a WordPress Hook to Filter the Edit Posts View?
- Is there any record of installed plugins in the database?
- Add content to /wp-admin/plugin-install.php admin screens
- Custom admin column disappearing when using Quick Edit [duplicate]
- Plugin Development: WordPress processes twice on post update. How to skip process on the first?
- how to not show plugin in admin area
- How could I execute my plugin just in frontend (not in backend)
- Custom height/width for thickbox in WP Backend
- Hide Theme options and Customize Admin menu
- ‘wp_login’ action hook not working with wp-login.php file
- All Users > User List > Update User Meta Field Inline
- Create tabs in admin options page from custom post type loop
- How to make multiple admin pages for one plugin?
- WordPress Site is Broken, Cannot see wp-admin page [closed]
- How to remove a CPT Menu from the Root Admin only
- Is there a better way of handling AJAX requests in WordPress?
- I cannot include a file in my plugin settings page
- force logged in user to stay in the dashboard
- How can we get this dynamically as this folder may not be by the same name always → wp-admin
- How to properly enqueue jQuery knob on WordPress without conflict?
- Admin menu hilighting wrong item for CPT
- Is admin section completely customizable in terms of styling?
- Store admin page into variable
- Add custom fields in the new and edit the site forms without touching the WP core
- Ajax in Plugins: returns the whole page
- Gutenberg: Dynamic Block – Show saved data in the editor
- Combining JS files to one script
- warning wp session
- Submitting form to admin-post.php WordPress
- I found this in a plugin. What does it do? is it dangerous?
- Where is the best place to use add_filter
- Can a developer adopt a plugin marked as “not updated in over 2 years”?
- Disable /wp-admin/plugin-install.php
- how to create child WordPress plugin
- Problems with autoloading classes via sp_autoload_register / maybe interfering WP-specific autoloader
- Advice on naming files for a plugin
- When can you get current page ID and initialize hooks right after?
- Reordering themes in admin panel
- Output in XHTML or HTML 5 for plugins?
- How do I email a new page password to somebody every month?
- How to Loop Plugin Option Field Set?
- Using tabs for wordpress plugin
- How to load different css file for different pages
- How do I add a widget programmatically to a newly created site (WPMU) within a plugin?
- How can I save repeatable fields with one value inside an array?
- How to test a WordPress plugin through the upgrade automatically feature
- Rename existing old uploaded images containing accented French characters (not during upload)
- Overrides Plugin Files on WordPress Themes
- Failed to invoke other hook from the init hook
- wp_verify_nonce() why return false?
- Why is my ajax call refreshing the page?
- Is there an equivalent to Drupal’s Batch API in WordPress?
- Create plugin that works in background
- Checking for user role in a custom plugin
- Extend Elementor Archive Posts widget with a custom skin in order to show multiple badges
- How to call bind function in wordpress actions or hooks
- Localize Plugin Description
- Display future posts?
- wp_enqueue_script fails to include in footer
- WordPress plugin for mail subscriptions [closed]
- Passing RichText attributes to function onChange
- Getting media library popup in custom plugin admin page
- What is the way to ship read-me strings like plugin-strings for internationalization?
- jQuery function didn’t work in my plugin
- Variable from a plugin into a theme
- Upload file inside plugins options page
- How to automate wordpress plugin activate and deactivate by php logic?
- How to get variables from fucntion.php to my plugin files
- How to Sort the Favorite Plugins Screen Alphabetically?
- Is there any way to get all the name or slug of template parts used in a page?
- HTML in WooCommerce settings
- Can WordPress Plugin Directory Cache Delay the Upload of Images?
- What function can I use consistently to escape possible HTML for editing and display?
- First WordPress Plugin – Stat Issues
- Redirecting to home page after login as custom role WordPress
- Where (or when) should I register a new taxonomy?
- How to change custom post type pemalink Hierarcy
- Test files for plugin development
- Updating the Drag-To-Share eXtended share URLs?
- Fixing WordPress’s Bug (failed to send buffer of zlib output compression) results in “White Screen of Death”
- Disable woocommerce cookies and delete cart data automatically
- Send Custom welcome email to specific user group
- WordPress.org Plugin Directory doesn’t recognise screenshots [closed]
- How to check current user before all actions and filters?
- Plugin: register_deactivation_hook works perfectly well, while register_activation_hook suddenly stopped working
- qTranslate remove default directory from link
- WordPress Backend HA (Automatic failover)
- How to Add Custom New Published Post Counter Icon on Top of the WordPress Site [closed]
- Create Custom Coupon Type
- How can I make my plugin detect if a certain theme is active?
- Is it possible to create post in wordpress using postman?
- How to add a simple design in classic editor plugin creating post page through another Wp plugin
- PHP FATAL ERROR
- Testing Plugin – Install plugin dependencies in testing enviroment
- Why is my Gutenberg block not saving and rendering the chessboard?
- Is it possible to use Classes between WordPress plugins with separate namespaces?
- search by meta field in the regular WordPress admin panel search
- Elementor wp_register_script showing file when i not use ‘wp_enqueue_script’