로그아웃/회원정보/결제로 메뉴 순서를 바꾸고 싶어요

워드프레스 코스모스팜 회원관리 플러그인 사용중입니다.

회원가입관리-설정에서 메뉴에 로그인 링크 추가를 사용으로 체크해서

메뉴에 로그인, 로그아웃, 회원가그런입, 회원정보 링크를 추가한 후,

테마디자인-메뉴에서 로그인 링크 추가 메뉴에 결제 메뉴를 넣었더니 탑메뉴에 결제/로그아웃/회원정보로 표시됩니다.

이 때, 순서를 로그아웃/회원정보/결제로 바꾸고 싶으면 어떻게 해야 하는지 방법을 가르쳐 주시면 감사하겠습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    코스모스팜 회원관리 플러그인에서 메뉴에 로그인 링크 추가하기는

    wp_get_nav_menu_items 필터를 활용하고 있습니다.

    기존의 메뉴 앞에 메뉴를 추가하고 싶으신 건지요?

    아래의 코드를 활용해보시겠어요?

    add_filter('wp_get_nav_menu_items', 'wp_get_nav_menu_items_2020_04_01', 10, 3);
    function wp_get_nav_menu_items_2020_04_01($items, $menu, $args){
    	if(!is_admin()){
    		if(get_cosmosfarm_menu_add_login() && in_array($menu->slug, get_cosmosfarm_login_menus())){
    			$profile_url = get_cosmosfarm_members_profile_url();
    			
    			$menu_items['login'] = array('title'=>__('Log In', 'cosmosfarm-members'), 'url'=>get_cosmosfarm_members_login_url(), 'order'=>1, 'classes'=>'cosmosfarm-members-login');
    			$menu_items['logout'] = array('title'=>__('Log Out', 'cosmosfarm-members'), 'url'=>get_cosmosfarm_members_logout_url(), 'order'=>1, 'classes'=>'cosmosfarm-members-logout');
    			$menu_items['register'] = array('title'=>__('Register', 'cosmosfarm-members'), 'url'=>wp_registration_url(), 'order'=>2, 'classes'=>'cosmosfarm-members-register');
    			$menu_items['account'] = array('title'=>__('Account', 'cosmosfarm-members'), 'url'=>$profile_url, 'order'=>2, 'classes'=>'cosmosfarm-members-account');
    			
    			$menu_items = apply_filters('cosmosfarm_members_menu_items', $menu_items, $menu, $args);
    			
    			if(is_user_logged_in()){
    				if($menu_items['account']['order'] <= $menu_items['logout']['order']){
    					if($menu_items['account']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['account']));
    					if($menu_items['logout']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['logout']));
    				}
    				else{
    					if($menu_items['logout']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['logout']));
    					if($menu_items['account']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['account']));
    				}
    			}
    			else{
    				if($menu_items['register']['order'] <= $menu_items['login']['order']){
    					if($menu_items['register']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['register']));
    					if($menu_items['login']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['login']));
    				}
    				else{
    					if($menu_items['login']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['login']));
    					if($menu_items['register']['url']) array_unshift($items, cosmosfarm_members_menu_item($menu_items['register']));
    				}
    			}
    		}
    	}
    	return $items;
    }

     

    wp_get_nav_menu_items 필터에 대한 자세한 내용은

    아래의 링크를 참고해보세요.

    https://developer.wordpress.org/reference/hooks/wp_get_nav_menu_items/

    고맙습니다.

  • 도와주셔서 감사합니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요