Support » WooCommerce » Frontend Produktsortierung nach Preis Aufsteigend mit NULL am Ende

  • Hallo, ich bin leider mit dem WP-Framework nicht sehr bewandert und beiße mir deshalb leider die Zähne an dem Problem aus.

    Die Aufgabenstellung: Wie in der Beispielseite in der „Sprühen“-Produktspalte zu sehen, sollen die Produkte pro Spalte aufsteigend nach Preis sortiert werden. Kein Preis (also NULL), soll am Ende gelistet werden.
    Bei regulärer ASC Preis-Sortierung werden leider alle Produkte ohne Preise ganz oben angezeigt (vgl. mit Preis 0). Das ist allerdings nicht so gedacht, da diese Produkte eigentlich keinen Preis besitzen und ggf. ausgehandelt werden müssten. (s.h. sie sind nicht gratis und sollen unten stehen!)

    Ich habe bereits versucht mittels Filter in der function.php des verwendeten Divi Themes Änderungen vorzunehme, jedoch weiß ich nicht wie ich das relativ einfache SQL einbinden kann.

    ... ORDER BY -price DESC;

    Zur einfachen Kontrolle habe ich eine neue Sortierung eingebaut, namens „price-asc-null“. Dieser Code in der funtion.php funktioniert soweit, dass ich ASC oder DESC regulär sortieren kann. Wenn ich jedoch „-preis“ und „DESC“ einbaue, verhält es sich nicht wie in MySQL vorgesehen. Die Sortierung scheint danach willkürlich.

    Code:

    
    function my_woocommerce_get_catalog_ordering_args( $args ) {
    
        if ( isset($args['orderby']) && $args['orderby'] ==  'price-asc-null') {
    
            //random result -> expected 0->MAX->NULL
            $args['orderby'] = '-price';
            $args['order']   = 'DESC';
        }
        return $args;
    }
    
    add_filter( 'woocommerce_get_catalog_ordering_args', 'my_woocommerce_get_catalog_ordering_args', 20 );
    

    Hat jemand eine Idee? Danke im Voraus.

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

  • Das Thema „Frontend Produktsortierung nach Preis Aufsteigend mit NULL am Ende“ ist für neue Antworten geschlossen.