【发布时间】:2020-07-01 13:12:20
【问题描述】:
我想过滤衬衫类别的所有产品以在所有衬衫上添加自定义字段。因为我不想在其余产品中添加该自定义字段。所以我希望自定义字段在产品页面、购物车和结帐时可见。
【问题讨论】:
标签: woocommerce filter field product
我想过滤衬衫类别的所有产品以在所有衬衫上添加自定义字段。因为我不想在其余产品中添加该自定义字段。所以我希望自定义字段在产品页面、购物车和结帐时可见。
【问题讨论】:
标签: woocommerce filter field product
您可以使用以下过滤器来过滤购物车和结帐上的商品名称:woocommerce_after_cart_item_name
要向您的产品页面添加一些内容,您可以从多种操作中进行选择以进行挂钩。这是visual overview。
在以下示例中,我选择在产品页面的“添加到购物车”表单之前添加一些内容。
add_action( 'woocommerce_before_add_to_cart_form', 'product_page_show_field_based_on_category', 10 );
function product_page_show_field_based_on_category() {
global $product;
if ( has_cat( $product->get_category_ids() ) ) {
echo "<p>Has category Shirt</p>";
}
}
add_filter( 'woocommerce_cart_item_name', 'checkout_and_cart_show_field_based_on_category', 10, 3 );
function checkout_and_cart_show_field_based_on_category( $product_name, $cart_item, $cart_item_key ) {
if ( has_cat( $cart_item['data']->get_category_ids() ) ) {
$product_name .= "<p>Has category Shirt</p>";
}
return $product_name;
}
function has_cat( $cat_ids ) {
$cat_id = 1; //set your shirt category id here
return in_array( $cat_id, $cat_ids) ? true : false;
}
过滤器和操作都使用一个小的辅助函数来检查类别 ID。
【讨论】:
has_cat() 函数将检查您的产品是否属于“衬衫”类别。只需在 has_cat() 函数的第一行设置衬衫类别 ID。 Click here 获取有关查找类别 ID 的帮助。如果这个答案对你有用,你可以mark it as accepted。提前谢谢!