- Valores para fijar la cantidad de productos por página. Con el hook 'woobe_set_per_page_values': (versión premium)
add_filter('woobe_set_per_page_values', function($add) {
return '10,30,100,150,200';
});
¡Ten cuidado con valores grandes (desbordamiento de memoria)!
-
add_filter('woobe_set_per_page_value', function ($value) {
return 50;
});
Fija la cantidad de productos en el editor de productos (products editor), tiene la prioridad más alta
- Excluir pestañas para usuarios/roles concretos. Con el hook 'woobe_show_tabs':
add_filter('woobe_show_tabs', function ($show, $slug) {
$rules = array('settings', 'meta', 'info');
if (!current_user_can('administrator') AND in_array($slug, $rules)) {
$show = false;
}
return $show;
}, 99, 2);
- Incluir términos hijos en los resultados de filtrado. Por defecto, si filtras por cualquier término, se encontrarán productos con ese término seleccionado y no se encontrarán otros productos aunque tengan algún hijo de ese término padre seleccionado. Con el hook 'woobe_filter_include_children':
add_filter('woobe_filter_include_children', function($include, $tax) {
$alow = ['product_cat', 'pa_color'];
if (in_array($tax, $alow)) {
$include = true;
}
return $include;
}, 10, 2);
- Controla la posibilidad de editar campos según el usuario/rol. Con el hook 'woobe_user_can_edit':
add_filter('woobe_user_can_edit', function($is_forbidden, $field_key, $shop_manager_visibility_array) {
$user = wp_get_current_user();
//print_r($shop_manager_visibility_array);
if (in_array('author', (array) $user->roles)) {
if ($field_key == 'sku') {
$is_forbidden = 1;
}
}
return $is_forbidden;
}, 10, 3);
- Posibilidad de hacer cualquier operación personalizada con el nuevo valor de un campo antes de su actualización. Con el hook 'woobe_before_update_product_field':
add_filter('woobe_before_update_product_field', function($value, $product_id, $field_key) {
//$condition= your code here
//example
if ($field_key === 'post_title' AND $condition) {
$value .= " Some text";
}
return $value;
}, 10, 3);
- El hook woobe_storage_type (desde v.2.0.8/1.0.8) ayuda en los casos en los que hay problemas con el transient en el servidor y el filtrado de productos no funciona, y permite fijar el transient como almacenamiento de filtrado
add_filter('woobe_storage_type', function($type) {
return 'option';//option, transient
});
- El hook 'woobe_product_statuses' - permite añadir más estados de productos (desde v.2.0.8.1/1.0.8.1)
add_filter('woobe_product_statuses', function($statuses) {
$statuses['archive'] = 'Archive';
return $statuses;
});
- El hook 'woobe_users_args' permite obtener usuarios por roles personalizados, por ejemplo 'vendors'. Por defecto es 'authors' (desde v.2.0.9/1.0.9)
add_filter('woobe_users_args', function ($args) {
return array('fields' => array('ID', 'display_name'), 'who' => 'vendors');
});

- El hook 'woobe_new_product_status' que permite definir qué estado tendrán los productos nuevos creados por BEAR: (desde v.2.0.9/1.0.9)
add_filter('woobe_new_product_status', function ($status) { return 'publish'; });
- El hook 'woobe_stock_quantity_dependency'. Si se fija en FALSE, entonces al cambiar la cantidad de stock a un valor positivo el campo 'manage_stock' no se cambiará automáticamente. Por defecto es TRUE.
add_filter('woobe_stock_quantity_dependency', function ($status) {
return false;
});
- El hook 'woobe_bulkedit_taxonomies'. Es útil cuando la tienda tiene miles de taxonomías, para evitar tiempos de carga largos en la pestaña Edición masiva (Bulk Edit). Ejemplo, no mostremos las categorías de productos: (desde v.2.0.9/1.0.9)
add_filter('woobe_bulkedit_taxonomies', function ($taxonomy_objects) {
if (isset($taxonomy_objects['product_cat'])) {
unset($taxonomy_objects['product_cat']);
}
return $taxonomy_objects;
});
- El hook 'woobe_filter_taxonomies'. Es útil cuando la tienda tiene miles de taxonomías, para evitar tiempos de carga largos en la pestaña Filtros (Filters). Ejemplo, no mostremos las categorías de productos: (desde v.2.0.9/1.0.9)
add_filter('woobe_filter_taxonomies', function ($taxonomy_objects) {
if (isset($taxonomy_objects['product_cat'])) {
unset($taxonomy_objects['product_cat']);
}
return $taxonomy_objects;
});
- El hook 'woobe_wpml_sync_prices' permite copiar los mismos precios de oferta y normal para todos los idiomas de WPML
add_filter('woobe_wpml_sync_prices', function ($do) {
return true;
});
- "weight", "length", "width", "height" – esto ahora también funciona para las variantes. El hook (desde v.2.1.3) para que funcione es: woobe_filter_consider_variation_dimensions, por defecto es true. Si pasas false, estos filtros no tendrán en cuenta los valores en las opciones:
add_filter('woobe_filter_consider_variation_dimensions', function ($do) {
return false;
});
- Hook (desde v.2.1.3) woobe_new_variation_product_status – fija el estado por defecto de la variante de producto:
add_filter('woobe_new_variation_product_status', function ($status) {
return 'private';
});
- El hook 'woobe_use_kses_for_page_field' - evita "que se actualice un carácter en lugar del símbolo", sugerido por omc123 https://wordpress.org/support/topic/it-updates-in-stead-of-the-symbol-in-wordpress-editor/
- Los hooks 'woobe_on_sale_from_set_day' y 'woobe_on_sale_to_set_day', sugeridos por krixxsw https://share.pluginus.net/image/i20230922153100.png, permiten definir a qué hora empieza/termina la oferta: false - 00:00:00, true - 23:59:59
- El hook 'woobe_settings_key_options' - sugerido por carlosdm https://pluginus.net/support/topic/same-configuration-for-all-users/ y permite tener la misma configuración para todos los usuarios
add_filter('woobe_settings_key_options', function ($id) {
return "for_all";
});
- El hook 'woobe_wrap_field_val' sugerido por Luigi Pulcini https://pluginus.net/support/topic/add-filter-to-wrap_field_val-method/ permite personalizar el contenido de una columna para campos personalizados
- Hook (desde v.2.1.4.6) 'woobe_export_cut_empty_variations' - permite excluir las variaciones de producto sin stock
add_filter('woobe_export_cut_empty_variations', function ($type) {
return true;
});
- Hook (desde v.2.1.4.6) 'woobe_export_product_fields_answer' - para manipular los datos de exportación

- Función: ahora puedes crear el archivo woobe.css en la carpeta de tu tema actual de WordPress para personalizar por completo el aspecto del panel de administración de BEAR. Ejemplo:
/* sticky position of chekbox, preview img, title */
#advanced-table {
overflow: auto;
}
#advanced-table_wrapper .dataTables_scroll .scroll-wrapper .dataTables_scrollBody table tbody tr td[data-field=__checker],
#advanced-table_wrapper .dataTables_scroll .scroll-wrapper .dataTables_scrollBody table tbody tr td[data-field=_thumbnail_id],
#advanced-table_wrapper .dataTables_scroll .scroll-wrapper .dataTables_scrollBody table tbody tr td[data-field=post_title]
{
position: sticky;
top: 0;
left: 0;
z-index: 1;
background: #fff;
}
#advanced-table_wrapper .dataTables_scroll .scroll-wrapper .dataTables_scrollBody table tbody tr td[data-field=__checker] {
left: -1px;
}
#advanced-table_wrapper .dataTables_scroll .scroll-wrapper .dataTables_scrollBody table tbody tr td[data-field=_thumbnail_id]{
left:26px;
}
#advanced-table_wrapper .dataTables_scroll .scroll-wrapper .dataTables_scrollBody table tbody tr td[data-field=post_title]{
left:90px;
}
- Cómo generar SKU secuenciales en masa
- El hook woobe_use_cache_flush - antes de dibujar la tabla de productos, BEAR vacía la caché de objetos para que las filas muestren los datos actuales en lugar de valores almacenados en caché antes de tu última edición. En un sitio con una caché de objetos persistente — Redis, Memcached — ese vaciado limpia la caché de todo el sitio, no solo de los productos, y todos los visitantes lo notan mientras la caché se vuelve a llenar. Si tu tienda usa una caché de objetos persistente y la pantalla del editor se siente pesada, o notas que el sitio se ralentiza después de usar BEAR, desactiva el vaciado:
add_filter( 'woobe_use_cache_flush', '__return_false' );
La contrapartida: la tabla puede mostrar ocasionalmente un valor anterior a tu último cambio. Recargar la página lo soluciona, y el propio dato nunca se ve afectado — solo lo que ves.
- ...