#php #wordpress #woocommerce #tags #product
#php #wordpress #woocommerce #Теги #продукт
Вопрос:
В мета-разделе страницы отдельного продукта WooCommerce мне нужно извлечь один идентификатор тега (135).
Я хочу просмотреть все теги, которые есть в простом продукте, и если я наткнусь на тег с идентификатором 135 для печати:
- Материал: кожа (ID 135)
Я что-то пытался, но не могу получить этот идентификатор тега
add_action('woocommerce_product_meta_end', 'wh_renderProductTagDetails');
function wh_renderProductTagDetails()
{
global $product;
$tags = get_the_terms($product->get_id(), 'product_tag');
//print_r($tags);
if (empty($tags))
return;
foreach ($tags as $tag_detail)
{
if ($tags (135)){
// echo '<p> Material: Leather</p>';
echo '<p> Material: ' . $tag_detail->name . '</p>';
}
}
}
Может кто-нибудь рассказать мне, как это сделать?
Ответ №1:
Ваш код содержит некоторые незначительные ошибки.
Этого должно быть достаточно — объяснение с помощью тегов комментариев, добавленных в код.
function action_woocommerce_product_meta_end() {
global $product;
// Is a WC product
if ( is_a( $product, 'WC_Product' ) ) {
// Set taxonmy
$taxonomy = 'product_tag';
// Get the terms
$terms = get_the_terms( $product->get_id(), $taxonomy );
// Error or empty
if ( is_wp_error( $terms ) ) {
return $terms;
}
if ( empty( $terms ) ) {
return false;
}
// Loop trough
foreach ( $terms as $index => $term ) {
// Product tag Id
$term_id = $term->term_id;
// DEBUG: remove afterwards
echo '<p>DEBUG - Term id: ' . $term_id . '</p>';
// Compare
if ( $term_id == 135 ) {
echo '<p>Material: ' . $term->name . '</p>';
}
}
}
}
add_action( 'woocommerce_product_meta_end', 'action_woocommerce_product_meta_end', 10, 0 );