Как вывести категорию товара и его цену в custom loop в woocommerce?

Добрый день! Я вывожу товары по собственному шаблону и слегка запинаюсь на недостаточном знании php.
Чтобы вывести категории товара в цикл, я использую следующий код:
function tutsplus_product_subcategories() {
    global $product;
    $product_category = $product->get_categories;
    echo '
        <div class="product-cat">
            ' . $product_category . '
        </div>
    ';
}
add_action( 'woocommerce_after_shop_loop_item_title', 'tutsplus_product_subcategories', 50 );


А для вывода цены, следующий:
function woocommerce_template_loop_price(){
    global $product;
    $product_id = $product->id;
    $product = wc_get_product( $product_id );
    echo '
        <div class="product-price">
            '. $product->get_price_html .'
        </div>
    ';
}
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_price', 50 );


Как вы могли догадаться, оба не работают, однако, на мой взгляд, всё прописано верно. В чем может быть проблема?
  • Вопрос задан
  • 1304 просмотра
Решения вопроса 1
Olivoin
@Olivoin Автор вопроса
Разобрался.

Цена:
function woocommerce_template_loop_price(){
    global $product;
    $product = get_product( get_the_ID() );
    if ( $price_html = $product->get_price_html() ) :
    echo '
        <div class="product-price">
            '. $price_html .'
        </div>
    '; 
    endif;
}


Категория:
function tutsplus_product_subcategories() {
 global $post;
    $terms = get_the_terms( $post->ID, 'product_cat' );
    $nterms = get_the_terms( $post->ID, 'product_tag'  );
    foreach ($terms  as $term  ) {
        $product_cat_id = $term->term_id;
        $product_cat_name = $term->name;
        break;
    }
    echo '
        <div class="product-cat">
            ' . $product_cat_name . '
        </div>
    ';
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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