2017-10-31 22 views
0

를 얻을 :WooCommerce 가입 상태 I 테마의 <code>function.php</code>의 기능을 사용하고 문제

내가 로그인 할 것을 확인하고, 사용자가이 페이지로 리디렉션 것보다 활성화되지 가입이있는 경우. 두 명의 사용자가 있습니다. 하나는 활성 구독이고 다른 하나는 만료되었습니다. 그러나이 코드를 두 사용자 모두에게 사용하면 둘 다 else 조건에있게됩니다. 즉, 구독하지 않아도됩니다.

이것은 제품 구독이 아니며 사용자 계획에 가입 한 것입니다.

$active_subscriptions = get_posts(array(
    'numberposts' => -1, 
    'meta_key' => '_customer_user', 
    'meta_value' => $user_id, 
    'post_type' => 'shop_subscription', // Subscription post type 
    'post_status' => 'wc-active', // Active subscription 
)); 

if (!empty($active_subscriptions)) { 
    echo "1"; 
    die; 
    return true; 
} else { 
    echo "2"; 
    die; 
} 
+0

아무도 전문가가 아닙니다. – DeDevelopers

+0

"die"를 사용해야하는 이유는 무엇입니까? –

+0

@HussainMahfoodh 방금 어떤 상태에 있는지 확인하고 있습니다 ... 당신은 적절한 해결책이 있습니까? – DeDevelopers

답변

0

wcs_get_subscriptions 기능을 사용해 볼 수 있습니다.

$subscriptions = wcs_get_subscriptions( array( 'customer_id' => $user_id, 'subscription_status' => 'wc-active', 'subscriptions_per_page' => - 1 ) );

+0

이것은 shop_subscription을 보여주고 있습니다. 계정을 만들 때 완료된 사용자에 대한 가입이 필요합니다. 실제로 사용자가 사이트에 가입 할 때, 패키지 하나를 선택해야하고 지불해야합니다 ... 그래서 우리는 그 가입을 확인해야합니다. 사용자 가입에 .. 제발 나를 도울 수 있습니다. – DeDevelopers

+0

회원 가입을보고 싶습니다. 그러니 제발 도와주세요. @Van – DeDevelopers

+0

먼저 회원이 만든 가입에 대해 어떻게 든 추적해야합니다. 그들이 나중에 다른 프로그램에 가입 할 수 있거나 첫 번째 프로그램을 취소하고 다른 프로그램을 추가 할 수 있다면 첫 번째 프로그램을 얻을 수 있어야합니다. 첫 번째 사용자 가입을 추적해야하는 경우 구독 ID를 사용자 메타에 저장할 수 있습니다. 위의 함수는 전달 된 사용자에 대한 모든 활성 구독을 제공하므로이 가입 구독을 제공해야합니다. – VanboDevelops