Лучший способ сделать это? Добавить теги как изображения на страницах товара - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь быть умным, но это немного выходит за рамки моих возможностей.

У меня есть продукты с тегами, эти теги обозначают, является ли что-то экологически чистым или нет. Некоторые из этих тегов являются, например, «биоразлагаемыми», «компостируемыми» и «переработанными».

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

У меня есть код для этого, и он работает как положено:

$current_tags = get_the_terms( get_the_ID(), 'product_tag' );

//only start if we have some tags
if ( $current_tags && ! is_wp_error( $current_tags ) ) { 

    //create a list to hold our tags
    echo '<ul class="product_tags">';

    //for each tag we create a list item
    foreach ($current_tags as $tag) {

        $tag_title = $tag->name; // tag name

        echo '<li><img src="/img/tags/'.$tag_title.'.png"></li>';
    }

    echo '</ul>';
}

Однако единственный способ добиться этого - отредактировать content-single-product.php или single-product.php и поместить его в мою тему в папке woocommerce.

Есть ли лучший способ?

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

1 Ответ

0 голосов
/ 04 июня 2019

Разобрался. В functions.php:

/**
 * Add test
 */
add_action( 'woocommerce_after_single_product_summary', 'tjobbetest', 5 );

function tjobbetest() {
    $current_tags = get_the_terms( get_the_ID(), 'product_tag' );

    //only start if we have some tags
    if ( $current_tags && ! is_wp_error( $current_tags ) ) { 

        //create a list to hold our tags
        echo '<ul class="product_tags">';

        //for each tag we create a list item
        foreach ($current_tags as $tag) {

            $tag_title = $tag->name; // tag name

            echo '<li><img src="/img/tags/'.$tag_title.'.png"></li>';
        }

        echo '</ul>';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...