복붙노트

[WORDPRESS] WooCommerce 사이트에 로그인하고 등록하십시오

WORDPRESS

WooCommerce 사이트에 로그인하고 등록하십시오

해결법


  1. 1.다음을 사용하여 (자식) 테마 함수를 확장해야합니다.

    다음을 사용하여 (자식) 테마 함수를 확장해야합니다.

    function so_loginout_menu_links( $items, $args ) {
       if ( $args->theme_location == 'primary' && function_exists('is_woocommerce') ) {
          if (is_user_logged_in()) {
             $items .= '<li><a href="'. wp_logout_url() .'">'. __("Log Out") .'</a></li>';
             $items .= '<li><a href="'. get_permalink( get_option('woocommerce_myaccount_page_id') ).'">'. __("My Account") .'</a></li>';
          } else {
             $items .= '<li><a href="'. wp_registration_url() .'">'. __("Log In") .'</a></li>';
             $items .= '<li><a href="'. site_url('/wp-login.php?action=register').'">'. __("Register") .'</a></li>';
          }
       }
       return $items;
    }
    add_filter( 'wp_nav_menu_items', 'so_loginout_menu_links', 10, 2 );
    

    이렇게하면 사용자가 로그인했는지 여부에 따라 "기본"메뉴가 두 개의 링크가있는 두 개의 링크로 확장됩니다. 계정 페이지가 WooCommerce가 WooCommerce이고 비활성화 된 경우 계정 페이지가 WooCommerce에 대한 수표를 추가했습니다.

    위의 코드의 "기본"은 "Primary-menu", "top"또는 테마의 기본 탐색 메뉴가 호출되는 "기본 메뉴"또는 테마를 대체해야 할 수도 있습니다.

    또한 관리> 설정> 일반> 멤버쉽 "누구나 등록 할 수 있음"이 확인되었는지 확인하십시오. 그렇지 않으면 링크가 표시되지 않을 수 있습니다.

    참고 지금 예제에는 추가 CSS가 없으므로 추가 항목은 아직 드롭 다운 또는 아무 것도 없을 것입니다. 이를 얻으려면 기존 메뉴 항목을 검사하고 적절한 코드에 클래스에 따라 추가 상위 레벨 항목을 추가하십시오.

  2. from https://stackoverflow.com/questions/56050252/login-and-register-in-woocommerce-site by cc-by-sa and MIT license