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
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 🖐️
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
Hola
Lo que sucede es que hay varios espacios, debería ser sin espacios
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.
Hola Jhon,
Gracias por tu respuesta.
Funciona correctamente como puedes comprobar en estos ejemplos:
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
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.