Support » WooCommerce » „Nach Beliebtheit sortiert“ umbenennen

  • Gelöst frauwindy

    (@frauwindy)


    Hallo zusammen,
    ich habe die Sortierung in meinem Woocommerce Shop umgestellt auf Lagerbestand bzw. so, dass lagernde Produkte zuerst angezeigt werden:
    https://de.wordpress.org/support/topic/produktsortierung-nach-lagerbestand/

    Das funktioniert gut, wenn ausgewählt wird „Nach Beliebtheit sortiert“; nun möchte ich aber diese Sortierfunktion umbenennen in „Nach Lagerbestand sortiert“.
    Wie und wo kann ich das machen? Auch in der functions.php oder im Customs CSS?

    Vielen Dank für euren Input.

    Eintrag in der functions.php:

    add_filter(‚posts_clauses‘, ‚order_by_stock_status‘);
    function order_by_stock_status($posts_clauses) {
    global $wpdb;
    // only change query on WooCommerce loops
    if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy())) {
    $posts_clauses[‚join‘] .= “ INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) „;
    $posts_clauses[‚orderby‘] = “ istockstatus.meta_value ASC, “ . $posts_clauses[‚orderby‘];
    $posts_clauses[‚where‘] = “ AND istockstatus.meta_key = ‚_stock_status‘ AND istockstatus.meta_value <> “ “ . $posts_clauses[‚where‘];
    }
    return $posts_clauses;

    • Dieses Thema wurde geändert vor 2 Wochen, 5 Tage von frauwindy.

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

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)
  • Hi,

    eine kurze Suche ergab folgenden Link:

    https://rudrastyh.com/woocommerce/sorting-options.html#rename-options

    Viele Grüße,
    Ray

    Bei der dort vorgeschlagenen Lösung verstehe ich nicht, wieso ein so komplizierter Weg gewählt wird, um die Reihenfolge im Pulldown-Menü beizubehalten. Etwas einfacher erscheint mir eine Ersetzung im Array (ohne vorheriges Löschen mit unset):

    add_filter( 'woocommerce_catalog_orderby', 'my_rename_default_sorting_options' );
    
    function my_rename_default_sorting_options( $options ){
      $options[ 'popularity' ] = 'Nach Lagerbestand sortiert';
    
      return $options;
    }

    Das sind aber 2 inhaltlich völlig unterschiedliche Beschriftungen. Du müsstest nicht nur den Text ändern sondern auch die Funktion dahinter.

    @threadi Ich stehe gerade auf dem Schlauch: die Thread-Erstellerin wollte doch den Text des Pulldown-Menüs von „Nach Beliebtheit sortiert“ in „Nach Lagerbestand sortiert“ geändert haben, um eine Code-Anpassung auch im Menü umzusetzen?

    Das hatte ich oben nicht so ganz rausgelesen. Finde es ungewöhnlich ein Sortieroption zu verändern statt eine neue einzutragen. Aber geht natürlich auch so.

    Die Beschriftung sollte in dem Fall auch über die Sprachdatei von WooCommerce anpassbar sein. Kann man mit Loco Translate ganz gut machen.

    Das war mein erster Ansatz, allerdings nicht mit Loco Translate, sondern mit dem gettext-Hook. Ich gehe aber davon aus, dass die Ersetzung des Menüeintrags eine bessere Performance hat.

    Thread-Starter frauwindy

    (@frauwindy)

    @pixolin Vielen Dank! Es hat geklappt mit der Ersetzung!

    Klasse, wie einem hier immer geholfen wird 🙂

    LG Regine

    Danke für die Rückmeldung und viel Erfolg mit der Website.

Ansicht von 8 Antworten - 1 bis 8 (von insgesamt 8)