Autor Zpráva
Petr_528
Profil *
Když nastavím skrytí položek, které nejsou skladem tak přestane fungovat stránkování produktů po 20. Na jedné stránce je třeba 5 a na další 6 produktů. Jakoby si Woocommerce držel místo pro ty produkty co nejsou skladem. Neúspěšně jsem to zkoušel odstranit pomocí

add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 20;' ), 20 );

Jak se to dá odstranit?
Petr_528
Profil *
Nevíte někdo kód, kterým se dají odstranit produkty z katalogu, které nejsou skladem? Našel jsem tento´, ale ten na verzi 3.5.1. nefunguje. Díky.

add_action( 'pre_get_posts', 'iconic_hide_out_of_stock_products' );
 
function iconic_hide_out_of_stock_products( $q ) {
 
    if ( ! $q->is_main_query() || is_admin() ) {
        return;
    }
 
    if ( $outofstock_term = get_term_by( 'name', 'outofstock', 'product_visibility' ) ) {
 
        $tax_query = (array) $q->get('tax_query');
 
        $tax_query[] = array(
            'taxonomy' => 'product_visibility',
            'field' => 'term_taxonomy_id',
            'terms' => array( $outofstock_term->term_taxonomy_id ),
            'operator' => 'NOT IN'
        );
 
        $q->set( 'tax_query', $tax_query );
 
    }
 
    remove_action( 'pre_get_posts', 'iconic_hide_out_of_stock_products' );
 
}

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0