Un usuario preguntó 👇
WC Fields Factory: Versión 2.0.5
Logré anular el precio del producto en el gráfico utilizando el valor de dominio wccpf personalizado oculto. Esto dejó de funcionar cuando actualicé el plugin. Ver función a continuación:
function add_custom_price( $cart_object ) {
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $value) {
$title = $value['wccpf_product_name'];
$value['data']->set_name($title);
$price = $value['wccpf_product_price'];
$value['data']->set_price($price);
}
}
Al agregar el producto al gráfico, ya no recopila el valor del campo y lo procesa como una matriz. ¿Alguna idea sobre dónde me equivoco o qué ha cambiado en el código? Esto parece ser un gran error porque no funciona con ninguna área como debería. Agradeceremos su pronta respuesta. Me encanta el enchufe y el trabajo duro realizado. Si puedo ayudar de todos modos, por favor avíseme
Este tema fue modificado hace 2 años, 11 meses por.
(@umarglobal)
Hace 2 años, 11 meses
Como usted mismo sabe, mientras ejecuta la siguiente función, todo funciona. Sin embargo, estos son valores estáticos
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
function add_custom_price( $cart_object ) {
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $value) {
$value['data']->set_name('Test');
$value['data']->set_price(10);
}
}
Esta respuesta fue modificada hace 2 años, 11 meses por. Esta respuesta fue modificada hace 2 años, 11 meses por.
(@deeveedee)
Hace 2 años, 10 meses
@umarglobal,
Encontré un cambio similar que noté en https://wordpress.org/support/topic/new-structure-for-item-attributes-in-version-2-0-x/
Puede obtener las claves de edición con la función PHP array_keys()
.
Dudo que cualquier desarrollador serio bendiga este método de encontrar las nuevas claves, pero una forma rápida y sucia de obtener las claves de matriz que necesita es lanzar una excepción en su código para mostrar las claves. Por ejemplo, si desea encontrar las nuevas claves de matriz $item
, pondría lo siguiente en su función PHP
throw new exception(implode(array_keys($item)));
También puede hacer esto para todas las ediciones dentro de $ items. No es agradable y otros le dirán que envíe los valores a su consola de depuración. Muestra los valores, sin embargo, solo úselos array_keys()
para encontrar lo que busca.
¿Solucionó tu problema??
0 / 0