php - 使用短代码显示为产品设置的 WooCommerce 产品标签名称

标签 php wordpress woocommerce shortcode taxonomy-terms

正如标题所说,我正在寻找一个可以用来显示特定产品标签的短代码。 我所有的产品都只有一个产品标签。
例如,如果 ID 为 1250 的产品有标签“Horse”,我需要一种方法来放置指定产品 ID 的短代码并显示您各自的标签。在示例中,短代码应在屏幕上显示“Horse”一词
Tyring修改如下代码来实现:

$terms = wp_get_post_terms( get_the_id(), 'product_tag' );

if( count($terms) > 0 ){
foreach($terms as $term){
$term_id = $term->term_id; // Product tag Id
$term_name = $term->name; // Product tag Name
$term_slug = $term->slug; // Product tag slug
$term_link = get_term_link( $term, 'product_tag' );

$output[] = '.$term_name.';
}

$output = implode( ', ', $output );

echo $output;
}
但我没有足够的知识来实现​​它
任何帮助表示赞赏。

最佳答案

如果您为每个产品只设置了一个产品标签,下面的简码函数将输出为当前产品设置的产品标签术语名称(或一串逗号分隔的术语名称,当为一个产品设置多个术语时)。它也适用于定义的产品 ID 作为短代码中的参数(请参阅用法示例)。
功能代码:

add_shortcode( 'wc_product_tag', 'get_tag_term_name_for_product_id' );
function get_tag_term_name_for_product_id( $atts ) {
    // Shortcode attribute (or argument)
    extract( shortcode_atts( array(
        'taxonomy'   => 'product_tag', // The WooCommerce "product tag" taxonomy (as default)
        'product_id' => get_the_id(), // The current product Id (as default)
    ), $atts, 'wc_product_tag' ) );
    
    $term_names = (array) wp_get_post_terms( $product_id, $taxonomy, array('fields' => 'names') );
 
    if( ! empty($term_names) ){
        // return a term name or multiple term names (in a coma separated string)
        return implode(', ', $term_names);
    }
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。测试和工作。
用法示例:
  • 当前产品:[wc_product_tag]或在 php: echo do_shortcode('[wc_product_tag]');
  • 对于定义的产品 ID:[wc_product_tag product_id="37"]或在 php: echo do_shortcode('[wc_product_tag product_id="37"]');

  • This also works for any product custom taxonomy, as WooCommerce product category…


    显示 WooCommerce 产品类别术语名称 为您需要更换的产品设置:
            'taxonomy'   => 'product_tag', // The WooCommerce "Product Tag" taxonomy (as default)
    
    通过以下行:
            'taxonomy'   => 'product_cat', // The WooCommerce "Product Category" taxonomy (as default)
    

    关于php - 使用短代码显示为产品设置的 WooCommerce 产品标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64082239/

    相关文章:

    php - woocommerce 如何获取单个产品的 $cart_item_key

    php - WooCommerce 小部件 - 从日期到日期的订单列表

    php - 确定 URL 是否是 PHP 中的图像的最佳方法

    php - 如何将随机域名转换为小写一致的url?

    php - 如何将模板页脚添加到wordpress中的所有页面

    php - Wordpress 发布缩略图问题

    wordpress - 我想使用 woocommerce 将购物车中的产品总数限制为 3

    php - 删除 Woocommerce 产品简短说明

    php - phpmyadmin sql 代码出现问题,在两个单词表和单词学习表之间进行选择

    php - 将鼠标悬停在 li 不显示 div 上