Exibir produtos WooCommerce aleatoriamente por padrão na página da loja
Estou tentando exibir produtos aleatoriamente na página da minha loja com este código:
add_filter('woocommerce_get_catalog_ordering_args', 'set_sort_order');
function set_sort_order($args) { $args['orderby'] = 'rand';
return ($args);
}
Mas este código torna a página de categoria de produto aleatória, mas eu preciso apenas armazenar a página - página inicial. Não está na página de categoria de produto. como eu posso fazer isso ?
Respostas
2 LoicTheAztec
Em vez disso, use o seguinte para classificar os produtos aleatoriamente apenas nas páginas de arquivo da loja:
// Set default orderby query to "rand" option for shop archive pages
add_filter('woocommerce_get_catalog_ordering_args', 'shop_default_orderby_rand');
function shop_default_orderby_rand($args) { if( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) { $args['orderby'] = 'rand';
return ($args);
}
}
Ou você também pode usar este:
// Set default orderby query to "rand" for shop archive pages
add_action( 'pre_get_posts', 'shop_default_orderby_rand' );
function shop_default_orderby_rand( $query ) {
if ( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
$query->set( 'orderby', 'rand' );
}
}
Insira o código no arquivo functions.php do seu tema filho ativo (ou tema ativo). Testado e funciona.
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?