Como evitar que se asigne más de una categoría por producto en WooCommerce

Cuando gestionas una tienda online tienes que permitir a los usuarios con perfil de gestor de tienda crear productos, y esto implica asignar categorías a los productos.

Por defecto WordPress (ni WooCommerce tampoco) no impide que se asigne más de una categoría de producto por producto, pero habrá tiendas online en las que querrás controlar esta situación, casi siempre por cuestiones de SEO, evitar que los usuarios asignen más de una categoría a los productos.

Pues bien, es muy fácil de conseguir con un sencillo código, este:

/* Evitar asignar más de una categoría por producto en el editor */
add_action( 'admin_head', 'ayudawp_una_cat_por_producto', 9999 );
function ayudawp_una_cat_por_producto() {
$screen = get_current_screen();
$screen_id = $screen ? $screen->id : '';
if ( ( 'add' === $screen->action && 'product' === $_GET['post_type'] ) || in_array( $screen_id, array( 'product', 'edit-product' ) ) ) {
wc_enqueue_js( "
$('#product_cat-all input:checkbox').change(function () {
var max = 1;
var count = $('#product_cat-all input:checked').length;
if (count > max) {
$(this).prop('checked', '');
alert('Lo siento, solo puedes elegir una categoría de productos. Si no te convence la primera que elegiste desmárcala y elige la que sea más adecuada.');
}
});
" );
}
}

El código puedes añadirlo en:

Del código puedes personalizar la cadena alert para poner tu propio texto de aviso.

Una vez añadido el código y guardados los cambios, cuando un usuario quiera añadir más de una categoría verá un mensaje de alerta animándole a elegir bien la categoría que quiere asignar al producto, no dejándole añadir más de una.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(5 votos, promedio: 4.8)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido