답변:
이것을 functions.php
파일에 넣으십시오 .
function wpse_131562_redirect() {
if (
! is_user_logged_in()
&& (is_woocommerce() || is_cart() || is_checkout())
) {
// feel free to customize the following line to suit your needs
wp_redirect(home_url());
exit;
}
}
add_action('template_redirect', 'wpse_131562_redirect');
무엇을합니까?
우리는이 있는지 확인 - 로그인하지 않은 한 사용자 WooCommerce 페이지를 참조하고, 우리의 홈 페이지에 그 / 그녀의 리디렉션하려고합니다.
방금 리디렉션을로 변경했습니다.
wp_redirect( site_url('my-account/') )
로그인 또는 등록되지 않은 경우 "내 계정"페이지에서 사용자가 리디렉션됩니다.
My Account
페이지 로 리디렉션하는 가장 좋은 방법은 아닙니다 . WooCommerce 설정에서 연결 한 내 계정 페이지의 영구 링크를 검색하는 것이 좋습니다. 이렇게하면 영구 링크가 변경되거나 영구 링크를 실행하는 다국어 사이트가있을 때마다 올바르게 검색됩니다. 한마디로 : 퍼머 링크 / 슬러그 (또는 일반적으로 URL)를 하드 코딩하지 않는 것이 좋습니다. 더 나은 방법은 다음과 같습니다.wp_redirect( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) );
나는 이것으로 바꿀 것입니다
wp_safe_redirect( wc_get_page_permalink( 'myaccount' ) );
대신에
wp_redirect( site_url('my-account/') );