检查用户是否购买了商品并重定向到特定页面

我有这个功能,但它不能按需要工作。改成这样会不会更好wc_customer_bought_product?


目标是检查用户是否购买了免费订阅产品“ 11344”,并且当该用户尝试访问用户帐户中的特定页面时,它会被重定向到另一个页面。


我有一个显示访问统计信息的页面,它是www.website.com/my-account/。我想隐藏该页面,以便当购买了上述产品的用户尝试去那里时,然后被重定向到另一个页面www.website.com/my-account/my-listings/


有人可以建议我需要在这段代码中编辑什么吗?目前陷入困境,因为这个没有做任何事情。


//You can make this code as function and call it where it is require

$current_user = wp_get_current_user();

if ( 0 == $current_user->ID ) return;


// GET USER ORDERS (COMPLETED + PROCESSING)

$customer_orders = get_posts( array(

    'numberposts' => -1,

    'meta_key'    => '_customer_user',

    'meta_value'  => $current_user->ID,

    'post_type'   => wc_get_order_types(),

    'post_status' => array_keys( wc_get_is_paid_statuses() ),

) );


// LOOP THROUGH ORDERS AND GET PRODUCT IDS

if ( ! $customer_orders ) return;

$product_ids = array();

foreach ( $customer_orders as $customer_order ) {

    $order = wc_get_order( $customer_order->ID );

    $items = $order->get_items();

    foreach ( $items as $item ) {

        $product_id = $item->get_product_id();

        $product_ids[] = $product_id;

    }

}

$product_ids = array_unique( $product_ids );


if (in_array("11344", $product_ids))

{

    wp_redirect("https://website.com/account2"); // Add redirect URL Here 

    exit;


慕后森
浏览 117回答 1
1回答

吃鸡游戏

template_redirect- 在确定要加载的模板之前触发。wp_get_current_user- 检索当前用户对象。wc_customer_bought_product- 检查用户(通过电子邮件或 ID 或两者)是否购买了商品。function action_template_redirect() {    global $wp;        // Retrieve the current user object.    $current_user = wp_get_current_user();    if ( $current_user->ID == 0 ) return;        // DEBUG PURPOSES, UNCOMMENT IF NECESSARY    //echo $wp->request;    // On my-account page    if( $wp->request == 'my-account' ) {        // Set product ID        $product_id = 11344;                // If true        if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product_id ) ) {            // Redirect            wp_safe_redirect('/my-account/my-listings/');            exit;        }       }}add_action( 'template_redirect', 'action_template_redirect' );
打开App,查看更多内容
随时随地看视频慕课网APP