Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[SOLUCIONADO] PHP notice en WooCommerce

Estas en el tema de PHP notice en WooCommerce en el foro de WordPress en Foros del Web. Hola a todos, me sale este aviso en un WooCommerce que hasta ahora estaba funcionando perfectamente. Es un código que estaba usando para añadir una ...
  #1 (permalink)  
Antiguo 14/06/2016, 11:11
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 15 años, 4 meses
Puntos: 429
PHP notice en WooCommerce

Hola a todos,
me sale este aviso en un WooCommerce que hasta ahora estaba funcionando perfectamente.
Es un código que estaba usando para añadir una pestaña nueva solamente en los productos que tienen un atributo determinado.
Notice: Undefined variable: post in /ruta-del-archivo/functions.php on line 168 (aquí es la línea 6)
Notice: Trying to get property of non-object in /ruta-del-archivo/functions.php on line 168 (aquí es la línea 6)
Este es el resumen del código que estoy usando
Código PHP:
Ver original
  1. add_filter( 'woocommerce_product_tabs', 'personalizacion_product_tab' );
  2.  
  3. function personalizacion_product_tab( $tabs ) {
  4.  
  5. //si el producto tiene el atributo personalizacion  
  6. $terms = get_the_terms( $post->ID, 'pa_personalizacion' ); //esta es la línea 168
  7.                        
  8. if ( $terms && ! is_wp_error( $terms ) ) {
  9.    
  10.     // agregar nueva pestaña
  11.  
  12. }
  13. function personalizacion_product_tab_content() {
  14.  
  15.     //aquí el contenido de la nueva pestaña
  16.  
  17. }

¿Alguna idea de como solucionarlo? Gracias.
__________________
Mi blog personal | Mi G+
  #2 (permalink)  
Antiguo 14/06/2016, 18:47
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: PHP notice en WooCommerce

El error es claro, $post no existe en el scope de la función, veo 2 soluciones.

1. Usar global $post en la primera linea de la función.

2. En lugar de usar $post puede probar con la variable $product, igualmente tienes que usar global $product en la primer linea de la función.
  #3 (permalink)  
Antiguo 15/06/2016, 03:25
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 15 años, 4 meses
Puntos: 429
Respuesta: PHP notice en WooCommerce

Muchas gracias, funciona perfectamente con ambas soluciones.
__________________
Mi blog personal | Mi G+

Etiquetas: notice, php, post, todo, woocommerce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:35.