Потребуйте возможности просмотреть продукт Woocommerce

Я использую Woocommerce, и у меня есть продукты в категории по имени B2B, single_product.php которого только, чтобы быть показанным людям с возможностью read_b2b.

<?php if ( have_posts() ) : ?>
<?php do_action('woocommerce_before_shop_loop'); ?>
<?php if (is_product_category('b2b')) && if current_user_can('read_b2b') { ?>
  //*** In this case show the PRODUCT with the LOOP ***
       <?php while ( have_posts() ) : the_post(); ?>
       <?php woocommerce_get_template_part( 'content', 'single-product' ); ?>
       <?php endwhile; // end of the loop. ?>
<?php } else { 
  //*** show error message ***
  echo '<p>You have to be a registered b2b user to see this product</p>';
?>

Можно ли помочь мне заставить этот взлом работать на сингл-product.php?

0
09.12.2012, 23:15
2 ответа

Мое предположение - то, что Ваша проблема здесь:

if (is_product_category('b2b'))

Взгляд на Woocommerce Documention для Условных Тегов is_product_category() возвратится true на архивах категории продуктов. Поэтому это никогда не будет верно на странице единого продукта.

Что я думаю, что Вам нужно, вместо этого has_term() который проверяет сообщение на конкретный термин. Поэтому я предложил бы, чтобы Вы изменили свое условное выражение на:

<?php if (has_term('b2b', 'product_cat')) && if current_user_can('read_b2b') { ?>
1
20.02.2020, 00:12

Вы могли бы хотеть смотреть на документацию WooCommerce, я буду думать, что можно хотеть использовать рычаг/фильтр woocommerce_before_main_content.

0
20.02.2020, 00:12

Теги

Похожие вопросы