Rating: 3 stars
Messes also some in stock products and moves them from 1st site somewhere to the middle
]]>Rating: 5 stars
Does what it says and that’s enough
]]>Rating: 5 stars
This is a very poor implementation of sorting out of stock products last.
Firstly, the code was blatantly stolen from Business Bloomer without giving credit.
More importantly, it doesn’t just sort out of stock products last, it completely overrides the sorting of your products, so that selecting “Latest”, “Best Sellers”, etc. no longer works.
And it doesn’t even do that right. It sorts in stock products first, then products on backorder, and then out of stock products.
This was also brought to the author’s attention many months ago by @fightingbettas in a support topic, which went completely ignored.
If you want to do this properly, use something like this:
add_filter('posts_orderby', function($orderby, $query) {
global $wpdb;
static $oos_sql;
if ($query->is_singular || !$query->is_main_query() || $query->get('wc_query') !== 'product_query' || is_admin()) {
return $orderby;
}
if ($oos_sql === null) {
$oos_term = get_term_by('name', 'outofstock', 'product_visibility');
$oos_sql = "{$wpdb->posts}.ID IN (SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id = {$oos_term->term_taxonomy_id}) ASC";
}
$orderby = $oos_sql . ', ' . $orderby;
return $orderby;
}, 10, 2);
]]>
Rating: 5 stars
This plug-in fixes a problem that WooCommerce has long overlooked: simply moving out of stock products to the end of store instead of hiding them completely (the only available Product settings option). There are numerous workarounds involving editing the functions.php file, but this solution is easier to employ. Works fine in WordPress 5.9.3 on my client’s Avada site.
]]>Rating: 5 stars
Does what it says. Open source yet quick support from alcmidia.
]]>