WooCommerce If Заявление - PullRequest
       3

WooCommerce If Заявление

0 голосов
/ 23 февраля 2019

Я работаю над оператором if, который определяет, вошел ли пользователь в систему и уже приобрели продукт.

Я обнаружил, что следующий код определяет это правильно:

<?php
    if ( is_user_logged_in() ) {
        global $product;
        $current_user = wp_get_current_user();
        if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product->get_id() )):
?>

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

Я потратил несколько часов, пытаясь включить приведенный выше код в традиционный цикл, но безуспешно.

Следующие работы:

<?php if ( is_user_logged_in() ): ?>

    <h1>Logged In</h1>

<?php else: ?>

    <h1>Logged Out</h1>

<?php endif ?>

Но когда я добавляю разметку, чтобы определить, был ли продукт куплен, я получаю ошибки.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Вы можете попробовать ограничить контент, контроль контента и т. Д. Плагины, которые делают эту работу.Попробуйте найти плагины с шорткодами, где вы можете заключить ограниченный контент в шорткоды, чтобы проверить, вошел ли пользователь в систему.

0 голосов
/ 23 февраля 2019

Я не знаю, где вы хотите показывать контент, но я предполагаю, что на странице одного продукта следующий код будет работать

function showMyNotice(){
if ( is_user_logged_in() ) {
        global $product;
        $current_user = wp_get_current_user();
        if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product->get_id() )){

          echo "You have this product already";

        }else{
          echo "You need to buy the product"; 
        }

}else{
  echo "You need to buy the product"; 
}

}



add_action( 'woocommerce_before_single_product', 'showMyNotice', 20 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...