如何在 WooCommerce 中检查一系列产品 ID
How to check for an array of product Ids in WooCommerce
我正在为特定产品更改 WooCommerce 商店页面上“添加到购物车”按钮的文本:
add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text' );
function add_to_cart_text( $default ) {
if ( get_the_ID() == 1 ) {
return __( 'Text1', 'your-slug' );
} elseif ( get_the_ID() == 2 ) {
return __( 'Text2', 'your-slug' );
} elseif ( get_the_ID() == 3) {
return __( 'Text3', 'your-slug' );
} else {
return $default;
}
}
如果我有两个或多个 ID 需要具有相同的按钮文本,我该如何将这些 ID 的数组添加到我的函数中?
您可以为此使用 in_array() 函数。
add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text' );
function add_to_cart_text( $default ) {
global $product;
$number_array = array(1, 2, 3, 4);
$number_second = array(5, 6, 7, 8);
$number_third = array(9, 10, 11, 12);
if ( in_array($product->get_id(), $number_array ) ) {
return __( 'Text1', 'your-slug' );
} elseif ( in_array($product->get_id(), $number_second ) ) {
return __( 'Text2', 'your-slug' );
} elseif ( in_array($product->get_id(), $number_third ) ) {
return __( 'Text3', 'your-slug' );
} else {
return $default;
}
}
您可以像这样使用in_array()
PHP conditional function:
add_filter( 'woocommerce_product_add_to_cart_text', 'custom_add_to_cart_text', 10, 2 );
function custom_add_to_cart_text( $text, $product ) {
if ( in_array( $product->get_id(), array(1) ) ) {
$text = __( 'Text1', 'text-domain' );
} elseif ( in_array( $product->get_id(), array(2) ) ) {
$text = __( 'Text2', 'text-domain' );
} elseif ( in_array( $product->get_id(), array(3, 4) ) ) {
$text = __( 'Text3', 'text-domain' );
}
return $text;
}
应该可以。
此外,您还应该在挂钩函数中使用 $product
缺少的参数。
如果你想为将来的目的做动态的,那么你可以将你的 add_to_cart_text
保存到自定义字段,你可以在 woocommerce_product_add_to_cart_text
挂钩中检索它们。检查下面的代码。
add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text', 10, 2 );
function add_to_cart_text( $default, $product ) {
if( get_post_meta( $product->get_id(), 'add_to_cart_text', true ) != '' ){
return get_post_meta( $product->get_id(), 'add_to_cart_text', true );
}
return $default;
}
将您的 add_to_cart_text
保存到此处的自定义文件。
我正在为特定产品更改 WooCommerce 商店页面上“添加到购物车”按钮的文本:
add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text' );
function add_to_cart_text( $default ) {
if ( get_the_ID() == 1 ) {
return __( 'Text1', 'your-slug' );
} elseif ( get_the_ID() == 2 ) {
return __( 'Text2', 'your-slug' );
} elseif ( get_the_ID() == 3) {
return __( 'Text3', 'your-slug' );
} else {
return $default;
}
}
如果我有两个或多个 ID 需要具有相同的按钮文本,我该如何将这些 ID 的数组添加到我的函数中?
您可以为此使用 in_array() 函数。
add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text' );
function add_to_cart_text( $default ) {
global $product;
$number_array = array(1, 2, 3, 4);
$number_second = array(5, 6, 7, 8);
$number_third = array(9, 10, 11, 12);
if ( in_array($product->get_id(), $number_array ) ) {
return __( 'Text1', 'your-slug' );
} elseif ( in_array($product->get_id(), $number_second ) ) {
return __( 'Text2', 'your-slug' );
} elseif ( in_array($product->get_id(), $number_third ) ) {
return __( 'Text3', 'your-slug' );
} else {
return $default;
}
}
您可以像这样使用in_array()
PHP conditional function:
add_filter( 'woocommerce_product_add_to_cart_text', 'custom_add_to_cart_text', 10, 2 );
function custom_add_to_cart_text( $text, $product ) {
if ( in_array( $product->get_id(), array(1) ) ) {
$text = __( 'Text1', 'text-domain' );
} elseif ( in_array( $product->get_id(), array(2) ) ) {
$text = __( 'Text2', 'text-domain' );
} elseif ( in_array( $product->get_id(), array(3, 4) ) ) {
$text = __( 'Text3', 'text-domain' );
}
return $text;
}
应该可以。
此外,您还应该在挂钩函数中使用 $product
缺少的参数。
如果你想为将来的目的做动态的,那么你可以将你的 add_to_cart_text
保存到自定义字段,你可以在 woocommerce_product_add_to_cart_text
挂钩中检索它们。检查下面的代码。
add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text', 10, 2 );
function add_to_cart_text( $default, $product ) {
if( get_post_meta( $product->get_id(), 'add_to_cart_text', true ) != '' ){
return get_post_meta( $product->get_id(), 'add_to_cart_text', true );
}
return $default;
}
将您的 add_to_cart_text
保存到此处的自定义文件。