Для определенных продуктов в заказах WooCommerce с завершенным статусом измените информацию с определенной пользовательской страницы. - PullRequest
0 голосов
/ 23 мая 2019

Я использую " Для определенных продуктов в заказах WooCommerce с завершенным статусом выполните действие " , ответив на один из моих предыдущих вопросов.

Теперь я хочу показать определенный контент, если пользователь купил продукт из списка, и заказ на этот продукт завершен. Если он этого не сделал, пользователь увидит другой контент на этой странице. Содержимое будет в разделе этой пользовательской страницы.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 23 мая 2019

Таким образом, действие, которое вам нужно выполнить, это добавить некоторые пользовательские метаданные, когда выполняются условия, например:

add_action('woocommerce_order_status_completed', 'action_on_order_status_completed', 10, 2 );
function action_on_order_status_completed( $order_id, $order ){
    // Here below your product list
    $products_ids = array('11', '12', '13', '14', '15', '16');
    $found = false;

    // Loop through order items
    foreach ( $order->get_items() as $item ) {
        if ( in_array($item->product_id(), $products_ids) ) {
            $found = true;
            break;
        }
    }

    if ( $found ) {
        $user_id = $order->get_customer_id(); // Get the user ID
        // Add custom user meta data
        update_user_meta( $user_id, 'show_specific_content', '1' );
    }
}

Теперь вы можете использовать следующее, чтобы показать некоторый конкретный контент:

if( get_user_meta( get_current_user_id(), 'show_specific_content', true ) ) {
    // Display your custom content here
} else {
    // Display something else here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...