Sign up ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I need to change navigation menu in my plugin for each user for example:


But when I apply the above code in my plugin it shows me some errors. What should I do?

share|improve this question
I want do this in plugin not theme – moslem Jan 3 '14 at 13:48

2 Answers 2

up vote 0 down vote accepted

Create a menu for each type of user in Dashboard >> Appearence >> Menus >> create a new menu (eg Then add a function to your theme's functions.php to switch the menus. Something like as follows:

add_filter('wp_nav_menu_args', 'wp_nav_menu_args_filter');
function wp_nav_menu_args_filter($args = array()) {
   if (is_user_logged_in) { 
        // Menu for Logged In Users
        $args['menu'] = "name-of-user-menu";
        return $args;           
    }   else { 
    // Default Menu
        return $args;       
share|improve this answer
thanks it works but is there way to rename page title in menu for specific user group? – moslem Jan 3 '14 at 14:49
You can do this by using a filter with the_title Have a look here: – TomC Jan 3 '14 at 14:54
I did but it change every page to 'Dashbord'(that i wan to change with) do you have a right example about it – moslem Jan 3 '14 at 15:56
I figure it out how use it thanks. – moslem Jan 3 '14 at 16:38

You use non existing function is_user_login. You need to use is_user_logged_in() instead.

if( is_user_logged_in() )
share|improve this answer
I know I change it but I mean I want some pages hide from some users in navigate menu – moslem Jan 3 '14 at 13:46

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.