Проверьте, не работает ли тип продукта - woocommerce - PullRequest
0 голосов
/ 12 июня 2018

Мне нужен оператор if else, чтобы проверить, является ли продукт простым или переменным в woocommerce, чтобы я мог показать правильную кнопку добавления в корзину для пользовательской страницы продукта.

div class="six">

<?php

if( $product->is_type( 'simple' ) ){ ?>

<p>single</p>


<?php } elseif( $product->is_type( 'variable' ) ){ ?>
<p>variable</p>

<?php } ?>

</div>

Однако получите это сообщение об ошибке

Fatal error: Uncaught Error: Call to a member function is_type() on string in /Applications/MAMP/htdocs/jollybrewer/wp-content/plugins/woocommerce/templates/content-single-product.php:48 Stack trace: #0 /Applications/MAMP/htdocs/jollybrewer/wp-includes/template.php(690): require() #1 /Applications/MAMP/htdocs/jollybrewer/wp-content/plugins/woocommerce/includes/wc-core-functions.php(180): load_template('/Applications/M...', false) #2 /Applications/MAMP/htdocs/jollybrewer/wp-content/themes/jolly/woocommerce/single-product.php(41): wc_get_template_part('content', 'single-product') #3 /Applications/MAMP/htdocs/jollybrewer/wp-includes/template-loader.php(74): include('/Applications/M...') #4 /Applications/MAMP/htdocs/jollybrewer/wp-blog-header.php(19): require_once('/Applications/M...') #5 /Applications/MAMP/htdocs/jollybrewer/index.php(17): require('/Applications/M...') #6 {main} thrown in /Applications/MAMP/htdocs/jollybrewer/wp-content/plugins/woocommerce/templates/content-single-product.php on line 48

1 Ответ

0 голосов
/ 12 июня 2018

Убедитесь, что у вас есть global $product; перед этим кодом.

            <?php
            global $product;
            if( $product->is_type( 'simple' ) ){ ?>

            <p>single</p>


            <?php } elseif( $product->is_type( 'variable' ) ){ ?>
            <p>variable</p>

            <?php } ?>

        </div>

Другой способ указан ниже.

$product_id = 12; // the ID of the product to check
$_product = wc_get_product( $product_id );
if( $_product->is_type( 'simple' ) ) {
  // do stuff for simple products
 } else {
   // do stuff for everything else
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...