Javascript 设置发送到API的商户定义数据字段的最大长度
这是发送到Cybersource的商户定义的数据字段3,它返回一个错误,因为字符长度太长,我想将其减少到255个字符Javascript 设置发送到API的商户定义数据字段的最大长度,javascript,php,api,woocommerce,Javascript,Php,Api,Woocommerce,这是发送到Cybersource的商户定义的数据字段3,它返回一个错误,因为字符长度太长,我想将其减少到255个字符 [merchant_defined_data3] => Jadau Polki Design,Jadau Polki Design,All,Jhumar,Jadau Polki Design,Jadau Polki Design,All,Earrings,Jadau Polki Design,Diamond Design,All,Teeka,Jadau Polki Desi
[merchant_defined_data3] => Jadau Polki Design,Jadau Polki Design,All,Jhumar,Jadau Polki Design,Jadau Polki Design,All,Earrings,Jadau Polki Design,Diamond Design,All,Teeka,Jadau Polki Design,Jadau Polki Design,All,Teeka
代码如下:
//获取购物车项目
$cart_items = $woocommerce->cart->get_cart();
$cb_items = array();
if( ! empty( $cart_items ) ){
if( count($cart_items) == 1 ){
$x = 0;
foreach( $cart_items as $values ){
if( $values[ 'product_id' ] ){
$product = wc_get_product( $values['product_id']);
$products_cats = $product->get_category_ids();
} else {
$product = wc_get_product( $values['variation_id']);
$products_cats = $product->get_category_ids();
}
$_product = $values['data']->post;
$cb_items[ 'merchant_defined_data4' ] = $_product->post_title;
if( is_array($products_cats) && ! empty($products_cats)){
$c = array();
foreach ($products_cats as $value) {
if( $term = get_term_by( 'id', $value, 'product_cat' ) ){
$c[] = $term->name;
}
}
$products_cats = implode( ',', $c );
} else {
$products_cats = '';
}
$cb_items[ 'merchant_defined_data3' ] = $products_cats;
$x++;
}
} else {
$x = 0;
foreach( $cart_items as $values ){
if( $values[ 'product_id' ] ){
$product = wc_get_product( $values['product_id']);
$products_cats = $product->get_category_ids();
} else {
$product = wc_get_product( $values['variation_id']);
$products_cats = $product->get_category_ids();
}
$_product = $values['data']->post;
$mdd_product[ 'name' ][] = $_product->post_title;
if( ! empty($products_cats) && is_array($products_cats)){
foreach ( $products_cats as $key => $value) {
$mdd_product[ 'cats' ][] = $value;
}
} else {
$mdd_product[ 'cats' ] = $products_cats;
}
$x++;
}
if( ! empty( $mdd_product[ 'name' ] ) && is_array($mdd_product[ 'name' ])){
$cb_items[ 'merchant_defined_data4' ] = implode( ',', $mdd_product[ 'name' ] );
}
if( ! empty($mdd_product[ 'cats' ]) && is_array($mdd_product[ 'cats' ] )){
$c = array();
foreach ($mdd_product[ 'cats' ] as $value) {
if( $term = get_term_by( 'id', $value, 'product_cat' ) ){
$c[] = $term->name;
}
}
$cb_items[ 'merchant_defined_data3' ] = implode( ',', $c);
}
}
}
你只是想任意把它砍掉255个字符,或者你想把它砍掉255个字符之前的最后一个逗号,或者什么?我只是想任意把它砍掉255个字符,不管它们在哪里结束。这对接收数据的API有意义吗?一个简单的应该这么做对不起,这实际上不是我的代码,它来自CyberSource,所以我不知道在哪里放置substr()以减少长度。