Buenas,
Cada año, al finalizar navidad y las rebajas, queremos quitar de la web ciertos productos muy navideños. Los queremos quitar de todas las categorías en las que están y dejarlos solo en Navidad para volver a ponerlos visibles.
En unos tickets de hace un año, se nos dio una posibilidad que era ocultarlos pero esto trae problemas de seo
Nos gustaría hacer algo así (pero que funcione).
1- Ir a la categoría de navidad (53 productos), dar al nº de productos a la derecha
2- seleccionar de esta categoría todos los productos que queremos quitar de las demas categorías (los seleccionamos, editar todos y solo seleccionamos la categoría navidad) pero los productos se quedan igual.
¿Qué podemos hacer para simplemente quitar del menu la categoría Navidad y quitar x productos de las demás categorías sin hacerlo uno por uno.
Saludos
Contenido solo visible a usuarios registrados
Hola Susana,
En este caso WooCommerce no tiene una opción para ello; sin embargo, puedes utilizar algún plugin como https://wordpress.org/plugins/bulk-remove-posts-from-category/
Una vez lo instalas dentro de las opciones de tus productos puedes seleccionarlos masivamente y decidir que categorías eliminar
Otra opción es utilizar el siguiente código que debes añadir en el function.php de tu tema (preferiblemente un tema hijo) o un plugin como code snippets
add_action( 'woocommerce_product_bulk_edit_start', 'woo_bulk_edit_remove_product_category' );
function woo_bulk_edit_remove_product_category() {
?>
<div class="inline-edit-group">
<label class="alignleft">
<span class="title">Delete Cat</span>
<span class="input-text-wrap">
<?php wc_product_dropdown_categories( [ 'class' => 'remove_product_cat', 'name' => 'remove_product_cat', 'show_option_none' => 'Select product category to be removed', 'value_field' => 'term_id' ] ); ?>
</span>
</label>
</div>
<?php
}
add_action( 'woocommerce_product_bulk_edit_save', 'woo_bulk_edit_remove_product_category_save', 9999 );
function woo_bulk_edit_remove_product_category_save( $product ) {
$post_id = $product->get_id();
if ( isset( $_REQUEST['remove_product_cat'] ) ) {
$cat_to_remove = $_REQUEST['remove_product_cat'];
$categories = $product->get_category_ids();
if ( ! in_array( $cat_to_remove, $categories ) ) return;
if ( ( $key = array_search( $cat_to_remove, $categories ) ) !== false ) {
unset( $categories[$key] );
}
$product->set_category_ids( $categories );
$product->save();
}
}
Una vez los añades cuando editas masivamente los productos tendrás una nueva opción que te permite seleccionar todos esos y removerlos de una categoría específica
Verifícalo y nos comentas como va todo
Un Saludo