The icon_dir WordPress PHP Filter allows you to modify the icon directory path.
Usage
add_filter('icon_dir', 'your_custom_function_name'); function your_custom_function_name($path) { // your custom code here return $path; }
Parameters
$path
(string) – The icon directory’s absolute path.
More information
See WordPress Developer Resources: icon_dir
Examples
Change the Icon Directory Path
Change the default icon directory path to a custom directory within your theme.
add_filter('icon_dir', 'change_icon_directory'); function change_icon_directory($path) { $path = get_stylesheet_directory() . '/custom-icons'; return $path; }
Append a Subdirectory to the Icon Directory
Add a subdirectory to the default icon directory path.
add_filter('icon_dir', 'append_icon_subdirectory'); function append_icon_subdirectory($path) { $path .= '/custom'; return $path; }
Use a Custom Directory for a Specific Theme
Use a custom icon directory only for a specific theme.
add_filter('icon_dir', 'theme_specific_icon_directory'); function theme_specific_icon_directory($path) { if (get_template() == 'my-theme') { $path = get_template_directory() . '/my-icons'; } return $path; }
Modify the Icon Directory Based on User Role
Change the icon directory path based on the current user’s role.
add_filter('icon_dir', 'user_role_based_icon_directory'); function user_role_based_icon_directory($path) { if (current_user_can('administrator')) { $path = get_stylesheet_directory() . '/admin-icons'; } return $path; }
Apply the Change Only on Specific Pages
Change the icon directory path only on specific pages, such as the home page.
add_filter('icon_dir', 'specific_page_icon_directory'); function specific_page_icon_directory($path) { if (is_front_page()) { $path = get_stylesheet_directory() . '/front-page-icons'; } return $path; }