Necesita precios personalizados para los productos de la página de compras woocommerce de functions.php

Quiero obtener precios personalizados de functions.php. Para la página de la tienda woocommerce quiero la salida de la siguiente manera. Creé una taxonamy (equipo) personalizada, y estoy aplicando un precio personalizado desde el back-end.

P.ej :

1. Taxonomy : Team1 a) Product Id : 17, Price =222; //Original price $45 b) Product Id : 18, Price = 444; // Original price $55 2. Taxonomy : Team2 a) Product Id : 17, Price =999; //Original price $45 b) Product Id : 18, Price = 888; // Original price $55 

¿Cómo puedo obtener el resultado de mi ejemplo utilizando el siguiente código? Si hay algún cambio o modificación por favor avíseme.

Estoy usando el siguiente código :

 add_filter( 'woocommerce_get_regular_price', function ($price, $productd ) { foreach($_SESSION['my_array'] as $id => $price1) : $regular_price = get_post_meta(get_the_ID(), '_regular_price'); $price = $regular_price[0]; if(get_the_ID() == $id) : return $price1; else : return $price; endif; endforeach; }, 10, 2 ); 

Gracias, Satya

Una vez que corregí tus errores de análisis, el código de tu comentario funciona.

 add_filter('woocommerce_get_price','change_price', 10, 2); add_filter('woocommerce_get_regular_price','change_price', 10, 2); add_filter('woocommerce_get_sale_price','change_price', 10, 2); function change_price($price, $productd){ if($productd->id == 16): $price = 160; endif; return $price; } 

Al modificar eso para buscar productos en un cierto término de taxonomía, solo usaremos has_term( $term, $taxonomy, $post ) . Tendrá que ajustar el término y las babosas de impuestos.

 add_filter('woocommerce_get_price','change_price', 10, 2); add_filter('woocommerce_get_regular_price','change_price', 10, 2); add_filter('woocommerce_get_sale_price','change_price', 10, 2); function change_price($price, $productd){ if( has_term( 'team1', 'teams', $productd->id ) ): $price = 160; endif; return $price; } 

Actualizar

Leyendo tu nueva pregunta, parece que estás haciendo esto mal (aunque todavía te podría estar entendiendo mal). Si el Producto 1 está tanto en el Equipo 1 como en el Equipo 2, puede cambiar el precio en la página de taxonomía usando is_taxonomy("team-A") pero toda la funcionalidad add_to_cart() no sabrá usar el precio correcto porque no habrá forma de discernir qué precio debe usar en función del plazo (ya que el producto se encuentra en ambos términos).

Si desea mostrar precios diferentes a diferentes grupos de Usuarios, entonces necesitaría una capacidad de usuario personalizada y la usaría para verificar cuándo el usuario actual tiene ese límite o no .. ej .: usuario_actual_can current_user_can('team-b') .