Php 如何在WooCommerce中检查产品ID数组

Php 如何在WooCommerce中检查产品ID数组,php,arrays,wordpress,woocommerce,product,Php,Arrays,Wordpress,Woocommerce,Product,我正在更改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_t

我正在更改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的数组添加到我的函数中?

您可以使用该函数

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;
    }
}
您可以像这样使用:

它应该会起作用


此外,您还应该在钩住的函数中使用
$product
缺少的参数。

如果您想为将来的目的执行动态操作,那么您可以将
添加到购物车文本
保存到自定义字段中,并可以在
woocommerce\u product\u添加到购物车文本
钩子中检索它们。检查下面的代码

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;
}
将您的
添加到购物车\u文本
保存到此处的自定义文件


我的意思是,我有需要设置唯一文本的产品,但也有共享相同文本的其他产品。例如,产品ID 1应该有text1,产品ID 2应该有text2,产品ID 3和4应该有text3。
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;
}