Woocommerce 产品自定义评论标签挂钩
Posted
技术标签:
【中文标题】Woocommerce 产品自定义评论标签挂钩【英文标题】:Woocommerce product custom review tab hook 【发布时间】:2021-12-03 09:12:50 【问题描述】:您好,我正在创建一个 woocommerce wordpress 网站,我正在尝试用我们自己的 Bazaarvoice 集成来替换默认评论显示。所以我回调了评论选项卡以显示我自己的函数,该函数获取产品的型号并将其放入代码中以显示 bazaarvoice 评论显示。该代码有效,除了global $product
无效,因为我真的不知道如何使用钩子。我知道函数 bv_reviews_tab 的 add_action 不正确,所以我不确定我应该放什么。我整天都在绞尽脑汁
add_filter( 'woocommerce_product_tabs', 'woo_renam_tabs', 98 );
function woo_renam_tabs( $tabs )
$tabs['additional_information']['title'] = __( 'Product Data' ); // Rename the additional information tab
$tabs['additional_information']['callback'] = 'woocommerce_product_additional_information_tab';
$tabs['reviews']['callback'] = 'bv_reviews_tab';
return $tabs;
add_action( 'woocommerce_product_tabs', ' bv_reviews_tab' );
function bv_reviews_tab( )
global $product;
if ( $product->is_type('simple' ) )
$model = esc_attr( get_post_meta( $product->get_id(), '_model_number', true ) );
elseif ( $product->is_type('variable' ) )
// Get childIDs in an array
$children_ids = $product->get_children();
// Loop
foreach ( $children_ids as $child_id )
// Get product
$product = wc_get_product( $child_id );
$model = esc_attr( get_post_meta( $child_id, '_model_number', true ) );
?>
<div
data-bv-show="reviews"
data-bv-product-id= "<?php echo $model; ?>"
>
</div>
<?php
【问题讨论】:
【参考方案1】:在这种情况下不需要add_action
。 woo_renam_tabs
函数中给出的 callback
值将触发您的自定义函数。删除 add_action
行,你应该很高兴。 global $product 也可以。
此外,您需要为评论选项卡命名,并确保在 WooCommerce >设置 > 产品中启用评论选项卡
这是我测试过并且正在运行的代码:
add_filter( 'woocommerce_product_tabs', 'woo_renam_tabs', 98 );
function woo_renam_tabs( $tabs )
$tabs['additional_information']['title'] = __( 'Product Data' ); // Rename the additional information tab
$tabs['additional_information']['callback'] = 'woocommerce_product_additional_information_tab';
$tabs['reviews']['title'] = __( 'Reviews' ); ;
$tabs['reviews']['callback'] = 'bv_reviews_tab';
return $tabs;
function bv_reviews_tab()
global $product;
?>
<div data-bv-show="reviews">
<?php echo $product->get_name();?>
</div>
<?php
【讨论】:
这对我没有任何作用。我开始时没有 add_action 但唯一发生的问题是它由于某种原因没有识别全局 $product ,因为它没有从中获得任何价值。我正在尝试获取自定义元字段(型号)而不是名称,并且我知道该功能有效,因为我以前使用过它。以上是关于Woocommerce 产品自定义评论标签挂钩的主要内容,如果未能解决你的问题,请参考以下文章
通过自定义前端表单设置 Woocommerce 产品标签和类别