Parfois, les boutiques en ligne doivent gérer un grand nombre de produits « vendus » et le tableau des produits dans le back-office WooCommerce devient désordonné.
Voici donc un moyen de trier par état de stock (En stock -> En rupture de stock) au chargement de la page « Produits » dans WooCommerce.
Vous pouvez ensuite utiliser les en-têtes de colonnes pour trier selon d’autres données comme d’habitude, cela ne fonctionnera donc qu’une fois que vous aurez accédé à la page /wp-admin/edit.php?post_type=product .
Voici donc un extrait très simple pour vous.
Extrait de code à ajouter dans votre fichier functions.php
/**
* @snippet Trier produit selon stock Admin Dashboard
* @author Olivier FREDON
* @website https://www.oxicat.com
* @compatible WooCommerce 5
*/
add_action( 'pre_get_posts', 'oxicat_sort_products_by_stock_status_admin' );
function oxicat_sort_products_by_stock_status_admin( $query ){
global $typenow;
if ( is_admin() && $query->is_main_query() && $typenow == 'product' ) {
if ( ! isset( $_GET['orderby'] ) ) {
$query->set( 'orderby', 'meta_value' );
$query->set( 'meta_key', '_stock_status' );
$query->set( 'order', 'ASC' );
}
}
}
Ce code fonctionne toujours, sauf indication contraire de votre part. En cas de problème, pour exclure les conflits, passez temporairement au thème Storefront, désactivez tous les plugins à l’exception de WooCommerce et testez à nouveau.
Comment ajouter ce code ?
Pour ajouter ce code dans le fichier functions.php de votre thème, vous pouvez utiliser votre logiciel ftp (FileZilla par exemple). Ce fichier se trouve dans le dossier /wp-content/themes/votre-theme
Nous vous recommandons vivement d’utiliser le thème enfant, car sinon le fichier sera écrasé à chaque mise à jour de votre thème et vous devrez replacer l’extrait manuellement.



