For custom menu you can use:
<?php
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
?>
Second last option is for the custom icon url
Here is the reference from wordpress.org, you can read more about wordpress administration menu.
Related Posts:
- Passing arguments to a admin menu page callback?
- Admin settings update updating every time home page is hit?
- What’s the best method for emptying an option created with the Settings API?
- 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?
- 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
- 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
- OOP Plugin and Menu – Call to undefined function register_setting()
- 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 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
- Unable to get a simple plugin admin page to work
- Disable Auto-Expanding Menu in WordPress Admin Menus
- in_array function Problem
- 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 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
- Autoloading & Namespaces in WordPress Plugins & Themes: Can it Work?
- On the WordPress Admin section how do I link to submenu pages created for a plugin?
- Plugin update not reflected in WordPress plugin page
- WP Editor Issue in Backend
- TEMPLATEPATH without the theme name? No THEMEPATH constant?
- Why WP_Screeen doesn’t show all options with admin_body_class
- Plugin settings are saving but the fields
- How to integrate plugins into block editor
- I want to encrypt my WordPress plugin
- The plugin generated 3265 characters of unexpected output
- How to update WordPress Plugins in your own maintance application?
- register_setting registered with incorrect data type
- Custom Nav Walker $item->url producing malformed hyperlinks
- Extend Plugin that creates an endpoint for GET request to also accepts POST requests
- Personalized URL for non-logged in WordPress
- WordPress Breadcrumb Taxonomy Display
- Adding custom avatar field to comments
- i want to auto create pages with shortcode when plugin is activated and delete when deactivated
- WordPress plugin options page not saving options, no errors
- WordPress database error: [Table ‘bitnami_wordpress.questions’ doesn’t exist]
- How to manage different tier plugin subscriptions to users
- Plugin submission denied for “Calling file locations poorly” when using WP_PLUGIN_DIR constant
- Do plugin auto-updates also run for a lower version?
- wordpress wp_editor() does not support tag
- Insert meta-description into Yoast-SEO input-field via JavaScript
- Loading all PHP files all the time or only when they needed in Custom Plugin Development [closed]
- Showing Home option in dropdown when there is no Home page exist
- REST API error in block editor for custom templates
- Execute callback after REST API request completes + Response is sent
- High-Performance Order Storage conflict action `manage_shop_order_posts_custom_column`
- Set srcset on a block image
- the function do_settings_section($page) generate error “Allowed memory size of … bytes exhausted”
- wp_enqueue_script() with unknown path and maybe symlink
- Sanitization of register_setting()
- Javascript function defined in view.js not reachable from save.js
- Why is there a bunch of WordPress HTML code in my browser CSV download?
- Shortcode to return data instead of outputting HTML?
- specific content for specific user in the control panel?
- How to customize password reset message page on success if no error in password reset
- Do uploaded files to /tmp/ get deleted in WordPress automatically?
- How to pass a user_id to a custom plugin
- How to modify the uploads directory for wp.media.frame assigning an subfolder name
- the second js file enqueued inside wp plugin isn’t read
- Using a shortcode to get User Emails by role as specified in the shortcode, need help to allow for multiple roles
- Attributes array not saving values
- How to use native wordpress translation domain inside a custom plugin?
- how to execute a function only when i send an order to trash [closed]