Nav Menu Images

Nav Menu Images is a WordPress plugin (download) that enables uploading of images for nav menu items on a menu edit screen. By default, those images will be displayed instead of text for respective menu items. Note that after upload, you should set an image as featured to be able to display it.

You can also set images that will be displayed only when you hover menu item, or when menu item is of currently displayed page.

How to use

If you have just created menu, or you have just added new menu item, you need to save menu first before you can upload menu item image.

Save menu before uploading
Save menu before uploading

When menu is saved, expand menu item you want to upload image to by clicking on the arrow on the right. This will reveal additional options and a link for image uploading.

Link to upload form on nav menu item’s edit screen
Link to upload form on nav menu item’s edit screen

When media modal opens up, make sure that you list only images uploaded to that menu item. Do this each time you want to change or upload image.

Select "Uploaded to this post"
Select “Uploaded to this post”

When you upload image, just click on a button “Set featured image” to make it menu item image.

Setting featured image from media modal screen
Setting featured image from media modal screen

When you set image as featured, you will be returned to default menu managment screen where you can see links for removing and changing of menu item image.

Link for changing menu item image is also used when you want to upload image that is used for hover or when menu item is active.

Uploaded image on nav menu item’s edit screen
Uploaded image on nav menu item’s edit screen

If you want to upload image for hover or active, change tab to upload new images and upload image you want.

Upload additional images
Upload additional images

When image is uploaded, make sure that only that image is selected in the list from the left side. After you select it, scroll down at sidebar “Attachment details” until checkbox “Used on hover?” is visible and check it if you want to use that image on hover.

Select image for hover
Select image for hover

If you want to add image to show when menu item is active, follow procedure from above for adding hover image, and only check “Used when active?” checkbox.

Select image for when active
Select image for when active

If you want to remove image used for active or hover, just uncheck it or delete it.

For developers

Developers can use many available filters to make their own way of displaying images, or even create a child class on top of base one. Read a detailed guide for developers.

Although this plugin displays uploaded images out of the box, it will probably not give best possible look, so it’s recommended to create custom CSS styles for affected elements.

I need feature X, will you help me?!

I’m very aware that many users need functionalities or custom solutions that aren’t available out of the box, but I can’t provide free support or custom development for your needs. If you need something like that, I’m available for hire and I can look at your problem and solve it for a fee. This will help continuous maintaining of this plugin for general usage.


Nav Menu Images code is partly based on a code from now defunct plugin Custom Menu Images by Anabelle Handdoek/∞manos s.a.s and a code from plugin Metronet Profile Picture by Ronald Huereca/Metronet Norge AS.

If you are translator, you can translate it to your language and send translations. Currently, only Serbian translation is available.

Nav Menu Images is released under the terms of GNU General Public License. It is completely free so if you find it useful you can give something back to author. Your help could be done by giving donation, translating plugin to your language, sending bugs and suggestions, promoting plugin in blogs, forums social networks, and other websites.

144 thoughts on “Nav Menu Images

  1. I have error in menu- “Missing argument 3 for Nav_Menu_Images::register_menu_item_filter() (path to my page) on line 195” what did I do wrong? This error occurs immediately after loading the plugin

      1. Hi, just overwritten the plugin with the first version (‘Can you, please, try this version…’ ) with ftp. Seems to work ok now!

        Tnx, Henk

      2. Hm, it’s the 1.0 version again. Only difference between my two sites is that I have got the All-in-one-seo-plugin installed at the site with 2.0.

        Grtz Henk

        1. Sorry for the delay, had to put a website online.
          The info (I hope it’s usefull):

          Server with NavMenuImages 1.0, WP 3.4.2
          • Server: Localhost via UNIX socket
          • Server version: 5.0.77
          • Protocol version: 10
          • User: ***
          • MySQL charset: ‪UTF-8 Unicode (utf8)‬
          Web server
          • Apache/2.2.3 (CentOS)
          • MySQL client version: 5.0.77
          • PHP extension: mysql
          • Version information: 3.4.8,

          Server with NavMenuImages 2.0, WP 3.4.2
          Database server
          • Server: Localhost via UNIX socket
          • Software: MySQL
          • Software version: 5.5.25-log – Source distribution
          • Protocol version: 10
          • User: ***
          • Server charset: UTF-8 Unicode (utf8)
          Web server
          • Apache/2
          • Database client version: libmysql – 5.5.25
          • PHP extension: mysqli Documentation
          • Version information: 3.5.1

          Grtz Henk

  2. Would it show the image and description text… like text under the image?

    If not it would be great to have an option to show image and text together..

    great work!


  3. Turn off automatic swapping of title for image in functions.php:

    OR — have image appear BEFORE text in functions.php:

    add_filter( 'nmi_menu_item_content', 'nmi_custom');
    function nmi_custom( $content) { return $content; }

    … and then you can use CSS to disable images on all menus, except those you want…

    .menu .wp-post-image { display: none } .wp-post-image { display: block }

    In my case, the same menu appeared in the sidebar and did not NEED images there.

    1. Hi, thanks for this great plugin.
      I try to let the text below or above the images related to the titles by adding this code in functions.php, but I can’t… I use the basic theme Twenty Eleven, do you have any idea?
      Thanks for your answers…

  4. An idea for you. I don’t know if it’s easy, but can you modify this plugin allowing to upload two pictur for every page: the first one for the menu and the second one for the menu in modality OVER???

          1. Hi Milan,

            Thanks for the great plugin, it works fantastic! I was wondering if there is some news on the hover topic. To answer your last question here: a second image that only appears when hoovered upon the menu item would be a great add!


      1. cool thanks man. I dove in the deep end and managed to get it working with this: function nmi_with_title($content) {   // Your custom code goes here, between the curly braces   return $content . '<span class="page-title">' . get_the_title($item_id) . '</span>'; } add_filter('nmi_menu_item_content','nmi_with_title');

  5. Okay guys I want the image to display before my text in my menu how can i do that I don’t really want to mess with functions.php but if i have to which functions.php are we talking about. are we talking about the one in child theme? and also for something like this how would the css code look like if I may ask I am a beginner trying to learn. please help.

    1. Ramin, the first question is partly answered in the tutorial I wrote in the meantime.

      About functions.php, you need to learn how to create and save custom code you make for WordPress. If you’ve built your own custom theme (child or not), it might be a good idea to put your custom code like this into that theme’s function.php file.

      Otherwise, you should create a custom plugin for you site, from scratch or by help.

  6. I have social media icons in the header inline. When you reach the homepage on a mobile device you select pages from a popup with radio buttons. However, for the 3 links that are icons/images the radio buttons are present but have no label:

    Again, this is on mobile device only. Same scenario for FF, Android default browser and Opera.

    Thanks in advance for any help!

    1. This is happening because responsive design uses those same labels that are visible for regular browsers and since you are using images for socials and no text, there is nothing to be shown. So you need to either use custom filters to display/hide labels of socials, or you need to hide them completely for mobiles.

      In either way, this is completely unrelated issue to regular plugin usage and doesn’t cover free support, I’m giving you this detailed answer just because I like how you use my plugin. 😉

  7. Hi Milan and thanks for the plugin.
    I’m using it on an Artisteer generated theme and, unfortunately, there is a big issue: images won’t show.
    I first used the plugin via WordPress INSTALL NOW page – no results and main menu is missing from screen; then I tried the, again no results and missing main menu.
    Then I tried this time menu appears as planned, but no images, only the original text link.

    Do you think this could be something somehow related to Artisteer?


  8. Nav Menu Images. Great. Awesome. No other plugin like it.

    But, it does not work with the “Better WP Security” plugin which changes the path of the wp-content folder for security reasons. The path to the uploaded image will generate a 404 error. It may not work in a Multi-Site installation either?

    1. As far as I can see, all old uploads won’t work after you change path in Better WP Security, not just for this plugin, so this is not my plugin’s issue. If you update your database with new path it should work, and also new uploads should work immediately.

      As for multisite, it should work.

      1. Yes, you are right. The problem seems to have been my write permissions on my .htaccess file. I had them set at 444. But, when I changed them to 644 everything seemed to work for me.

        Thanks for the reply.

  9. I have the similar problem with “You need to set an image as a featured image to be able to use it as an menu item image”. could you please tell me how to change images to featured image. i have read your tutorial, but i still couldn’t get it changed to a featured image. thanks.

    1. HI Milan,

      I have checked it again. normally there should be an option as “use as featured image” but there was this option next to the “insert into post”. Is there any other way to set the upload picture to feature image? I use PNG format.


  10. Hey,

    thanks for you great plugin!

    I would like to display a different image when you are on a particular page (so if you click on “Home” for example, it should be highlighted or underlined) – so you can see what page you are currently on.


    Is this possible?


    1. This can be done two ways depending what you want to achieve: using CSS (active menu item has class current-menu-item that you can use to customize it) or with very custom solution that would output different image.

  11. Thanks for the plugin. Just wondering how to customize the position of the icon on the menu. I need to move the image up. I figure it has to do with the css but an example would be appreciate…or if I can simply edit one of the plugin php files.

    Thanks again

    1. I created a custom css class with the following and it worked.

      .menu li.ICON {

  12. Hello

    great plugin

    My question is with file should i change to integrate it in my theme instead of using it as a plugin ??

    thanks and great plugin agian

    1. You mean to pack this plugin with your theme? If you are already releasing WordPress themes you should know how to include other libraries with it.

      Be careful with naming convention so that theme and plugin don’t block one another. Also please share your work.

  13. Hi, great work with this plugin but I’ve got a problem.. everything was working fine while I was creating my custom menu, the “upload image” button was showing with no problems but suddenly when I created the third button, the field “upload menu item page” vanished and never came back.. Do you have any issue?

    1. Did link disappear from all menu items or only for newly added one? Have you saved you menu before trying to upload? After you add items to your menu, you need to save menu first before being able to upload images.

  14. Thanks for your nice plugin.

    I’m using wp 3.5.1 and Elegant Themes’ Lucid theme.

    I installed your nice plugin but the upload image option isn’t showing up when expanding the menu item.

    What could be wrong? I’ll donate 10 if you help me fix it.



  15. I am having the same issue as the first commenter. I am getting this message

    :Warning: Missing argument 3 for Nav_Menu_Images::register_menu_item_filter() in /home/content/j/a/b/jaboostudios/html/wordpress/wp-content/plugins/nav-menu-images/nav-menu-images.php on line 198

    I want to have an image of the Like US on Facebook logo but this error message keeps coming up ?!?!?


  16. How can I allow the image to appear next to the name of the menu item?
    I see this just replaces the name itself, but I’d like to be able to display the name as well as the image.

    Is this in the php or css?

  17. I like your plugin, but for some reason when viewing the site in a mobile browser (iphone or android) not only the images disappear but there is not a label showing up either.

    Can you suggest a solution/work around? has anyone else encountered this problem?

    1. How do I upload two different images on one menu example (about us) so that when a person click/hover on the tab it changes to another image.

    1. I don’t see how is this issue related with this plugin, it obviously works for many, including me, and without any more information I can’t fix anything.

  18. Hi Milan,

    I am trying to use the new feature(hover and active) but when i select another picture to be used as the hover or active picture, it only shows the image i selected to use as hover/active.
    Is extra coding needed to fully use the new feature or should it work instantly?

    Greetings, Kasper

    1. There shouldn’t be need for any extra coding, it should work out of the box. Have you by chance clicked on set featured image after you selected hover/active image? You should click that button only when you select default nav menu item image.

      1. I am 80% sure the problem is another plugin i am using to show the title of the menu item(on hover). I did click “Set featured item” but have also tried without. I’ll try to test it out without the other plugin. thanks for the help

  19. Using WordPress 3.5.1, a theme developed with Artisteer 4.1 and Nav Menu Images 3.0. I get the following error message in the menu widget of the vertical nav panel. The top nav panel renders as expected. All I have done is install and activate the plugin, I have not yet added any images.
    Nav_Menu_Images::register_menu_item_filter() in /web/docroot/…………./htdocs/cc/wp-content/plugins/nav-menu-images/nav-menu-images.php on line 268.
    (note I have removed the domain from the error message file path for security reasons).
    This appears not to be an isolated case from reading this blog and the support area on the WordPress website. I don’t want to be editing core files to fix this, can you please sort the plugin.

  20. Hello – I am having trouble like others with the hover function… sorry to be dense and thanks for the plugin which is just what I needed! I seem able to set an image but can’t see a hover option. I have downloaded version 3.0. Thanks for any help you can offer

    1. You don’t see checkboxes for hover/active on a side like in screenshots above? I really can’t know what is a reason unless looking at place where this is happening.

  21. Hi – no I really don’t see checkboxes for hover/active. I don’t have anything on the right under the box ‘Description’. I’m wondering if it’s because I’m on a PowerPC iMac – have you heard of any other people with a problem seeing the hover options? Thanks

    1. Sorry for jumping in here but I might have the answer: which version of WordPress are you using? The active/hover checkbox shows in the new media uploader used by WP 3.5.x. The checkbox is at the right hand side of the uploader (becomes the media manager once the file is uploaded) when an image is selected (ticked); there is a vertical scrollbar on the right-hand-side of the screen, you will need to scroll it down.

  22. Hi Milan, thank you for adding hover images. It’s a great enhancement. I am having difficulty using them, though, because the hover image selected for one menu item seems to be the one that shows on hover for all tabs in the menu. I’ve tried removing all images then reuploading and choosing them again…. but nothing seems to help.

    I’m using WP 3.5.x and the Genesis theme framework with the Dynamik child theme.

    Could you add separate upload buttons to the menu editor? I think that might make it easier (more intuitive) to set both the active and hover images for each menu tab.

    Thank you, Milan. By the way, where’s your donate button?

  23. Hi there,

    My site is using this plugin to control the main customer navigation and unfortunately the images are not showing in IE8 (Internet Explorer 8). Is there something I am missing that I need to do?

  24. Hello

    your plug-in very great, but only in responsive display (for iphone or android phone) the image don’t display?
    i have the Eprom theme
    if you have the solution, i keep!

    Thank you

  25. Hello,

    I uploaded images with transparent backgrounds, but when using your plugin they always appear with a white background. How can I change this?
    I’ve tried putting: background: transparent !important; in the CSS classes area but no luck. Very newbie, so if there is any easy fix, please tell me exactly what to put and where.
    Thanks – once that’s fixed the plugin will be perfect!

  26. Hello, I am also having trouble with the hover images for the Nav Menu Images plugin. I upload the images, I set one to featured, and I check the hover checkbox for another, but nothing happens once I save the menu. I am using WordPress 3.5.1.

  27. I installed this plugin a week or so ago and it was working perfectly up until today. I don’t know what changed. I don’t have any new plugins and I haven’t updated anything. As of today, I get an error that reads “Warning: Missing argument 3 for Nav_Menu_Images::register_menu_item_filter() in /homepages/28/d451937599/htdocs/app464104963/wp-content/plugins/nav-menu-images/nav-menu-images.php on line 268.” I looked at the PHP and found that line 268 is “public function register_menu_item_filter( $item_classes, $item, $args ) {” but I don’t know what that means (I have no experience with PHP).

    I have tried downgrading to both your previous versions, but I still get the same error. Any other suggestions?

  28. How do I add the hover images? I didnt see the option in the menu tabs. I am running the latest version of wordpress and pagelines.

  29. To fix the ‘Nav_Menu_Images::register_menu_item_filter()…’ issue:

    -Locate the register_menu_item_filter method in nav-menu-images.php (line 268 at the time of this post).
    -Set a default value for the $args parameter (ie $args = null).

    public function register_menu_item_filter( $item_classes, $item, $args = null ) {

    It seems only a select few people are having this issue and I’m not sure under what circumstances it occurs. The above seems to resolve the problem without any side effects. $args isn’t referenced in that function so setting it to null doesn’t break anything.

  30. Hi Milan,
    thank you for your plug in, but i’ve trouble with margin of menu image, i’d like to set margin-top = 0 px of the menu bar , i’ve no idea to edit in (nav-menu-images.php) or i’ve to edit in the theme setting?
    thank you for your help.

  31. Hi Milan,

    your plugin seems like the perfect solution for my problem! Thanks!

    I’m working on a website based on an Artisteer generated theme. Everything works fine but the pictures are not showing up on menu. I’m also not seen the hover option box. Is there a way to fix this issue?

    Thanks in advance


  32. Edit nav-menu-images.php

    in function register_menu_item_filter comment out $args

    public function register_menu_item_filter( $item_classes, $item /*, $args*/ )

    no more

    Missing argument 3 for Nav_Menu_Images

  33. I’m having issues with the hover and active images. Even if I delete, upload or upload individually for each menu item, the hover and active images are changing to be the last image’s hover and active state that I just modified for a different menu item.

    I’d really like to utilize this. I still have some modifications to make for the css.

    Hope I can resolve this, otherwise, I’m moving out of WordPress because its so darn difficult to modify – especially compared to the WordPress versions from about 4 years ago.

    1. When editin link in menu
      1.Change menu item image
      2.Set Hover image and Avtive image
      3.Set Featured image
      4.Save Menu
      5.Edit next link in menu

      When editin multiple links without saving menu, hover image will be the same for all links

      1. I tried this but it still didn’t work for me. The last modified menu image’s state for hover is spread to all the other menu items…

        View Source reveals that the hover_06 is spread to all other item’s hover:

            <nav id="site-navigation" class="main-navigation" role="navigation">       <h3 class="menu-toggle">Menu</h3>       <a class="assistive-text" href="#content" title="Skip to content">Skip to content</a>       <div class="menu-2013-spring-container"><ul id="menu-2013-spring" class="nav-menu"><li id="menu-item-649" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-8 current_page_item menu-item-649"><a href="http://localhost/wordpress/"><img width="105" height="70" src="http://localhost/wordpress/wp-content/uploads/active_01.png" class="attachment-full wp-post-image" alt="Home" title="Home" /></a></li> <li id="menu-item-648" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-648"><a href="http://localhost/wordpress/about-us/"><img width="132" height="70" src="http://localhost/wordpress/wp-content/uploads/default_02.png" class="attachment-full wp-post-image" alt="About Us" title="About Us" onmouseover="this.src=&#039;http://localhost/wordpress/wp-content/uploads/hover_06.png&#039;" onmouseout="this.src=&#039;http://localhost/wordpress/wp-content/uploads/default_02.png&#039;" /></a></li> <li id="menu-item-643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-643"><a href="http://localhost/wordpress/appointments-exams/"><img width="168" height="70" src="http://localhost/wordpress/wp-content/uploads/default_03.png" class="attachment-full wp-post-image" alt="Appointments &amp; Exams" title="Appointments &amp; Exams" onmouseover="this.src=&#039;http://localhost/wordpress/wp-content/uploads/hover_06.png&#039;" onmouseout="this.src=&#039;http://localhost/wordpress/wp-content/uploads/default_03.png&#039;" /></a></li> <li id="menu-item-644" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-644"><a href="http://localhost/wordpress/frames-and-contact-lenses/"><img width="125" height="70" src="http://localhost/wordpress/wp-content/uploads/default_04.png" class="attachment-full wp-post-image" alt="Frames &amp; Lenses" title="Frames &amp; Lenses" onmouseover="this.src=&#039;http://localhost/wordpress/wp-content/uploads/hover_06.png&#039;" onmouseout="this.src=&#039;http://localhost/wordpress/wp-content/uploads/default_04.png&#039;" /></a></li> <li id="menu-item-646" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-646"><a href="http://localhost/wordpress/technology-health/"><img width="169" height="70" src="http://localhost/wordpress/wp-content/uploads/default_05.png" class="attachment-full wp-post-image" alt="Technology &amp; Health" title="Technology &amp; Health" onmouseover="this.src=&#039;http://localhost/wordpress/wp-content/uploads/hover_06.png&#039;" onmouseout="this.src=&#039;http://localhost/wordpress/wp-content/uploads/default_05.png&#039;" /></a></li> <li id="menu-item-645" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-645"><a href="http://localhost/wordpress/news/"><img width="96" height="70" src="http://localhost/wordpress/wp-content/uploads/default_06.png" class="attachment-full wp-post-image" alt="News" title="News" onmouseover="this.src=&#039;http://localhost/wordpress/wp-content/uploads/hover_06.png&#039;" onmouseout="this.src=&#039;http://localhost/wordpress/wp-content/uploads/default_06.png&#039;" /></a></li> <li id="menu-item-647" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-647"><a href="http://localhost/wordpress/contact-map/"><img width="145" height="70" src="http://localhost/wordpress/wp-content/uploads/default_07.png" class="attachment-full wp-post-image" alt="Contact &amp; Map" title="Contact &amp; Map" onmouseover="this.src=&#039;http://localhost/wordpress/wp-content/uploads/hover_06.png&#039;" onmouseout="this.src=&#039;http://localhost/wordpress/wp-content/uploads/default_07.png&#039;" /></a></li> </ul></div>    </nav>                  <!-- #site-navigation -->

        1. That’s realy weird

          Try this method


          search for _wp_attached_file and find all hover_06.png

          my example
          _wp_attached_file 2013/07/n150_n.png <- Normal / Active
          _wp_attached_file 2013/07/n150_h.png <-Hover

          change hover_06 to hover_01 ect

          1. I only found one instance for the current hover image. So, knowing that I want different hover images for each menu item, I went and changed it to hover_01.php, and now all the menu items do have that hover_01.png versus hover_01, hover_02, hover_03, etc.

            I thought my menu name could have affected it since the name began with a number – a no, no for wordpress – but that change didn’t help either.

            So, I don’t know what’s up but it looks like I should code all the menu items individually with CSS.

            Thank you for your time and efforts. I was looking forward to using your plugin so it would be easy to change the menu every season. Maybe next time.

            Best Regards!!!!

              1. Paul, thank you for sharing your time with me. I really appreciate your efforts.

                I figured my issue out!!! All I had to do was make sure all my images had the same height! I was making images that were larger for the hover, smaller for the active and smaller still for the default. I just put all my images on the same sized transparent background. Presto! Everything worked well.

                So, the plugin is very good, does work and provides a great menu!

                Thank you, Milan Dinić. I’m off to give your plugin a 5 star rating at WordPress.Org…

  34. Hi,

    I have a theme which has a mobile option, but when I use nav menu images they appear as blank. Is there a way to turn off nav menu images for certain resolution css themes?



  35. Is your Nav Menu Images plugin WP 3.6 ready yet? Seems to me it is not. There are a lot of changes to WP Menus in 3.6.

  36. I just upgraded to WordPress 3.6 – and all my nav-menu stuff has disappeared. Existing menus with images are okay, but the option to add new custom items has gone !! :[


    1. @Andrew, @Trout: I have updated this plugin, please update your installation and follow instructions that I’ve written. If there are still issues with old images (added before latest release), delete them and try again.

  37. Other people have asked about the menu items not displaying on mobile devices, and I must say that your response that these questions don’t fall into the category of “free support” is unsatisfactory. You built a plugin that doesn’t work in mobile, straight up. And because it doesn’t work in mobile, I won’t be using it. I would imagine that other people will abandon it as well, given that mobile users account for a large portion of web users.

    1. Becca, my plugin WORKS on mobile, it’s been verified that on standard themes there are no problems.

      If there are problems with some themes on mobile, that doesn’t mean that my plugin doesn’t work, that probably means that either that theme is not standard compliant or that it has some features that prevent plugin to work as expected.

      Until proven that issue is with my plugin, which should be made by explicitly naming a theme or website that doesn’t work, my stand is that issue isn’t with my plugin and doesn’t require free support.

  38. Hey, man. Don’t fret the haters. We all know its a cool plugin.

    I just want to know how the URL works… I was hoping that if I supplied it, that’s where you’d go when you click the image – but it seems I have to create page on my site for every menu item… I was hoping to avoid that. I’m using your cool plug-in toe display my client’s suppliers down the right hand side… so we don’t want a page for each on THIS site.

    Am I doing something wrong ?

  39. I am an experienced graphic designer who is fairly new at building web sites, trying to learn as I go. I try to design first, then figure out the technical part of building the site., so I don’t limit myself to only what I know how to do. In this case, I put an image-based menu in the middle of the page. Your plug-in seemed the perfect solution and I have been able to get it to do exactly what I wanted. However, I am having trouble getting the images to align in the navigation blocks. I am not sure if this is a theme issue (using Headway) or if there is some code I need to add to get it right.

  40. Hi, I am using wordpress 4.5 and created a custom menu under the design options. But the link ‘Upload Menu Item Image’ doesn’t show up anywhere. The Plugin is activated and theres no error anywhere (not in the console, not in the frontend).

    Is this plugin working for wp 4.5?

    Best regards,

      1. Yes I did. But I can’t see the point “Menu” in the “Appearance” Dropdown menu (only Themes, Customize and Editor) in the main backend view of wordpress. I can only create menus when clicking on “Appearance->Customize”.

        1. I managed to have the Menu point in the Appearance Menu. Its because I am developing a custome theme. Therefore another question: which functions does the plugin need in order to work correctly?

          Thanks and regards!

  41. Hi

    I would like to have both the images AND the text.
    You mentioned the following solution :

    OR — have image appear BEFORE text in functions.php:

    add_filter( ‘nmi_menu_item_content’, ‘nmi_custom’);
    function nmi_custom( $content) { return $content; }

    I have added the code in functions.php of my child theme, but I see only the images.
    Can you help me please?

    Kind regards

    1. Yucheng, it is imagined that it uses full width and height and that you make appropriate image before uploading. You might one to try WP’s built in image editor, but I have not tested this so I am unsure about results.

  42. Sorry for the poor English.Suddenly Active and Hover the image does not change . Do you have any measures.

  43. Hi, apart from installing and activating the plugin, is there anything else I have to do? i am not getting the option to “upload menu item image”

    1. When you activate plugin, you should have option to upload image to any saved menu item as described on this page. If you don’t have links there, you have a conflict with some other plugin or theme.

      1. hi, thanks..turns out another plugin (ultimate member) is messing it up. is there a work around it?

  44. Hello:

    Thank you for creating the plugin!

    I am having some problems getting it to work, however.

    I added a custom menu item, entered the URL and a title, then saved. Went back in and was able to add an image and set it as featured. It doesn’t appear so I went back in and checked and it wasn’t there, even if I hovered. Removed the title which removed the entire menu item. Added it again a few times and make sure hover and active were both selected. Still can’t get it to work. What am I doing wrong?

    I want the image to appear all the time – regardless of whether it’s active or hovered over or not.

    The site is It should be appearing to the right of the last item labeled ‘Giving’.

    Can you help please?


    1. I understood that you see image in administration but not on frontend, public face of site. If so, there is some conflict with your theme (or maybe plugin, though I doubt that), it probably use some different way of showing menu. There is nothing I can do with my plugin in this situation, the only way is to look at theme code and to try to make a workaround.

  45. I followed the installation process and saved the custom menu. However I am not see the ‘upload images’ link in the menu editor. Do you have a list of plugins that could be causing problems? Any other ideas?

    1. I don’t have list of conflicting plugins but this is good idea. The only way you can solve this is by deactivating other plugins one by one to see which one causes. You can also upload your images when you find conflict if you don’t change your menu often.

  46. Same Problem as the last comment.
    The problem is what i have to write in the CSS field? If you can do it for me, because i am beginner 🙂 thanks

  47. The Plugin “Nav Menu Images” appears to be abandoned (updated 11 September 2016, tested to WP 4.6.13).


    1. Actually, this plugin works with newer WP versions as well. Reason I didn’t mark it as compatible is because for each plugin I manually verify with couple of test cases that it is indeed compatible. I plan to do that when time allows me.

Leave a Reply

Comment Guidelines:
  • Your email address will not be published
  • Fields marked with * are required
  • If you want your picture next to comment, open an account at Gravatar
  • If you want to know if someone replied to your comment, check “Notify me of followup comments via e-mail”
  • You can use these HTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>