【问题标题】:How an i get product category name from it's id in woocommerce?我如何从 woocommerce 中的 id 获取产品类别名称?
【发布时间】:2021-05-01 23:28:29
【问题描述】:
我想为我的 wp+woocommerce 网站创建一个简码,它将显示当前产品类别的名称。我通过获取请求从我的 url 中获取类别 ID - 这是一项专业。它看起来像:
function this_product_category_name() {
$cat_id = (int) str_replace('-product_cat', '', $_GET['really_curr_tax']);
// here must be a string to get the $cat_name from $cat_id;
echo $cat_name;
}
add_shortcode( 'this_product_category_name', 'this_product_category_name' );
有什么解决办法?
【问题讨论】:
标签:
wordpress
woocommerce
【解决方案1】:
使用get_term_by()。
function this_product_category_name() {
$cat_id = (int) str_replace('-product_cat', '', $_GET['really_curr_tax']);
$product_cat = get_term_by( 'id', $cat_id, 'product_cat' );
echo $product_cat->name;
}
add_shortcode( 'this_product_category_name', 'this_product_category_name' );
有用的链接
【解决方案2】:
既然您在product category 页面上,那么您可以使用get_queried_object,然后您可以从该对象中获取name,如下所示:
$cat = get_queried_object();
echo $cat->name;
//or if you want to get its id
echo $cat->term_id;
//if you want to see the object and what's in it then you could use print_r()
print_r($cat);
如果您正在寻找,请告诉我。
所以你的代码应该是这样的:
function this_product_category_name()
{
$cat = get_queried_object();
echo $cat->name;
}
add_shortcode( 'this_product_category_name', 'this_product_category_name' );