Avisos
Vaciar todo

SKU de WooCommerce a través de Shortcode  

 
Iñigo
 Iñigo
Usuario experto

Hola,

Quiero añadir un shortcode en los productos para que aparezca de forma dinámica el SKU de cada producto.

He buscado información por internet, pero al agregar el código sugerido en "https://www.skyverge.com/blog/output-woocommerce-sku/" a Code Snippets, no funciona.

El código es el siguiente:

function skyverge_echo_wc_sku () {

producto $ global;
return $ producto-> get_sku ();

}
add_shortcode ('sv_sku', 'skyverge_echo_wc_sku');

 

Me arroja los siguientes errores:

Parse Error : syntax error, unexpected `$`, expecting `,` on line 3
Parse Error : syntax error, unexpected `global` (T_GLOBAL) on line 3
Parse Error : syntax error, unexpected `producto` (T_STRING) on line 4

 

Podéis ayudarme por favor.

 

 

Un saludo,

Iñigo

 

 

Contenido solo visible a usuarios registrados

Citar
Respondido : 01/03/2021 6:13 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Iñigo,

Puedes comentarnos un poco mas a detalle si es posible con capturas sobre que te refieres exactamente con sku de forma dinámica en los productos?

Un saludo 🖐️ 

ResponderCitar
Respondido : 01/03/2021 6:22 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Iñigo
 Iñigo
Usuario experto

@argenis

Cada producto tiene su SKU ya agregado, pero el POS que utilizo para la tienda física, no lo reconoce en sus búsquedas. Sólo lo reconoce si lo pongo en el título, la descripción corta, o la descripción larga.

Es por ello que quiero incluir un shortcode en la descripción corta que vuelque el SKU de cada producto de forma dinámica en vez de agregarlo manualmente para evitar errores.

Al no tener ni idea de programación me gustaría que me indicarais que es lo que falla en el siguiente código:

function skyverge_echo_wc_sku () {

producto $ global;
return $ producto-> get_sku ();

}
add_shortcode ('sv_sku', 'skyverge_echo_wc_sku');

 

Será alguna coma o algo así de sencillo que a mí se me escapa.

 

 

Un saludo,

Iñigo

ResponderCitar
Respondido : 01/03/2021 8:07 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Lo que sucede es que hay varios espacios, debería ser sin espacios

Además la sintaxis es incorrecta con el global y tampoco tiene un hook de inicialización.
Prueba con el siguiente código:
add_action( 'init', 'dcms_agregar_shortcode' );
  function dcms_agregar_shortcode(){
  add_shortcode ('my_sku', 'dcms_my_sku');
}

function dcms_my_sku () {
  global $product;
  return $product->get_sku();
}

Este código puedes agregarlo al final de tu archivo functions.php de tu theme o childtheme o con algún pugin de snippets

Puedes usar [my_sku] como shortcode.

 

Saludos.

ResponderCitar
Respondido : 01/03/2021 8:47 pm

Cursos Gratuitos WordPress

Iñigo
 Iñigo
Usuario experto

@jmarreros

Hola Jhon,

Gracias por tu respuesta.

Funciona correctamente como puedes comprobar en estos ejemplos:

https://xn--labrasilea-19a.com/bikinis/tops-de-bikini/bikini-brasileno-caqui-con-detalles-dorados-shell-kaki-top-de-bikini/

https://xn--labrasilea-19a.com/bikinis/braguitas-de-bikini/bikini-brasileno-caqui-con-detalles-dorados-shell-kaki-braguita-de-bikini/

He agregado [my_sku] al final de la descripción corta.

 

Aun así, no sé por qué pero en las búsquedas del programa para la tienda física no lo reconoce. Es como si no hubiera un SKU. En cambio si lo escribo tal cual si lo reconoce y encuentra el producto correspondiente a ese SKU.

El plugin es el siguiente:

YITH Point of Sale for WooCommerce

Enlaza los productos y el stock con woocommerce. Algo muy práctico, pero si no puedo hacer que en la tienda física se encuentren los productos por el SKU, no es funcional.

La forma más sencilla de que encuentre el SKU es metiéndolo a mano, pero preferiría que fuera mediante un shortcode para evitar errores.

 

Como digo, no sé por qué no encuentra el SKU. ¿Alguna idea de como solucionar esto? ¿Quizá no con un shortcode, sino con alguna otra opción de woocommerce u otra cosa que se os ocurra?

 

 

Muchas gracias nuevamente.

Un saludo,

Iñigo

 

 

ResponderCitar
Respondido : 01/03/2021 9:34 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Tal vez el plugin que comentas lee directamente de los registros de la BD en donde lógicamente el shortcode aún no se ejecuta.

Consulta con los desarrolladores del plugin para ver que otra opción te brindan.

Como opción final podrías evaluar exportar tus productos a un archivo .csv y agregar el SKU como parte de la descripción, luego importar esa data nuevamente, actualizando todos tus productos.

Saludos.

ResponderCitar
Respondido : 01/03/2021 9:48 pm