Отображение пользовательских терминов таксономии на страницах архива продуктов WooCommerce - PullRequest
1 голос
/ 05 мая 2020

Я создал таксономию под названием «couchages» для продукта со значением: 1 couchage, 2 couchages, 3 couchages,…

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

  • Image1, product1, price1, таксономическое значение продукта 1
  • Image2, product2, price2, таксономическое значение продукта 2

Я хотел бы использовать функцию (в моей функции. php) для вставки этого значения (таксономия).

function display_taxonomy_product_archives() {
    echo "VALUE OF THE COUCHAGE TAXONOMY";
}
add_action( 'woocommerce_after_shop_loop_item_title', 'display_taxonomy_product_archives', 25 );

Некоторая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 05 мая 2020

В приведенном ниже коде установите свою настраиваемую таксономию для отображения названий терминов на страницах архивов для каждого продукта.

1) Перед кнопкой «добавить в корзину» / «Подробнее»:

add_action( 'woocommerce_after_shop_loop_item_title', 'display_taxonomy_product_archives', 25 );
function display_taxonomy_product_archives() {
    global $product;

    // HERE below define your custom taxonomy
    $taxonomy = 'product_cat';

    $terms = wp_get_post_terms( $product->get_id(), $taxonomy, ['fields' => 'names']);

    if( ! empty($terms) ) {
        // Display the term names 
        echo '<p class="' . $taxonomy . '">' . implode(', ', $terms) . '</p>';
    }
}

2) После кнопки «добавить в корзину» / «Подробнее»:

add_action( 'woocommerce_after_shop_loop_item', 'display_taxonomy_product_archives', 30 );
function display_taxonomy_product_archives() {
    global $product;

    // HERE below define your custom taxonomy
    $taxonomy = 'product_cat';

    $terms = wp_get_post_terms( $product->get_id(), $taxonomy, ['fields' => 'names']);

    if( ! empty($terms) ) {
        // Display the term names 
        echo '<p class="' . $taxonomy . '" style="margin:10px 0 0">' . implode(', ', $terms) . '</p>';
    }
}

Код переходит в functions. php файл вашей активной дочерней темы (или активной тема). Протестировано и работает.

Документированный Wordpress wp_get_post_terms() функция…

...