Okay
  Print

I don't want to use the login & cart icons. How to add WHMCS User Menu to Main Menu?

You can easily add this code to theme functions.php file (We recommend you to use child-theme):

function new_nav_menu_items($items, $args) {
    if( $args->theme_location == 'primary' ){
        ob_start();
        ?>
    <li class="pull-right menu-item menu-item-type-post_type menu-item-object-page default_style">
        <span class="item_link">
            <span class="link_content">
                <span class="link_text">
                    <?php echo do_shortcode("[whmpress_whmcs_cart link_text='Cart']");?>
                </span>
            </span>
        </span>
    </li>
    
    <?php
    $isloggedin = do_shortcode("[whmpress_whmcs_if_loggedin]1[/whmpress_whmcs_if_loggedin]");
    $notloggedin = do_shortcode("[whmpress_whmcs_if_not_loggedin]1[/whmpress_whmcs_if_not_loggedin]");
    ?>
    
    <?php if ($notloggedin == 1) {?>
    <li class="pull-right menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children default_dropdown default_style drop_to_left submenu_default_width columns1">
        <a href="#" class="item_link">
            <span class="link_content"><span class="link_text">Account</span</span>
        </a>
        <ul class="mega_dropdown dropdown-menu ">
            <li class="menu-item"><a class="item_link" title="Login" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>clientarea">Login</a></li>
            <li class="menu-item"><a class="item_link" title="Register" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>register">Register</a></li>
            <li role="separator" class="divider"></li>
            <li class="menu-item"><a class="item_link" title="Forgot Password?" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>pwreset">Forgot Password?</a></li>
        </ul>
    </li>
    <?php } ?>
    <?php if ($isloggedin == 1) {?>
    <li class="pull-right menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children default_dropdown default_style drop_to_left submenu_default_width columns1">
        <a href="#" class="item_link">
            <span class="link_content"><span class="link_text">Hello, <?php echo do_shortcode('[whmpress_whmcs_info user_field="firstname"]');?></span></span>
        </a>
        <ul class="mega_dropdown dropdown-menu ">
            <li class="menu-item"><a class="item_link" title="Edit Account Details" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>clientarea&action=details">Edit Account Details</a></li>
            <li class="menu-item"><a class="item_link" title="Contacts/Sub-Accounts" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>clientarea&action=contacts">Contacts/Sub-Accounts</a></li>
            <li class="menu-item"><a class="item_link" title="Change Password" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>clientarea&action=changepw">Change Password</a></li>
            <li class="menu-item"><a class="item_link" title="Email History" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>clientarea&action=emails">Email History</a></li>
            <li role="separator" class="divider"></li>
            <li class="menu-item"><a class="item_link" title="Logout" href="<?php echo str_replace('index', '',do_shortcode('[whmpress_whmcs_page return="url"]'));?>logout">Logout</a></li>
        </ul>
    </li>
    <?php } ?>
        <?php
        $html = ob_get_contents();
        ob_end_clean();
        $items = $items.$html;
    }
    return $items;
}
add_filter( 'wp_nav_menu_items', 'new_nav_menu_items', 10, 2 );

You also should disable the quick access icons in the theme options-> header options -> Show quick access.

Here are the results:

Log in:


Logged in: