Woocommerce: Produkte in alphabetischer Reihenfolge anzeigen

Lesezeit: 5 Minuten

Woocommerce Produkte in alphabetischer Reihenfolge anzeigen
Alex Rot

Ok, ich weiß, es ist vielleicht eine dumme Frage oder Sie denken vielleicht, dass sie dutzende Male gestellt wurde. aber entweder bin ich verzweifelt und habe etwas verpasst, oder dies ist ein einzigartiges Problem. Wie auch immer, ich brauche deine Hilfe.

Meine Kundin wollte ihre Produkte alphabetisch darstellen. Alles war gut, als ich die Standard-Produktsortierung “Benutzerdefinierte Bestellung + Name” auswählte, aber dann kam etwas durcheinander … und die gesamte alphabetische Reihenfolge im Bildschirm “Produkte sortieren” war verschwunden. Jetzt werden sie alle nach ihrer “Bestellnummer” angezeigt.

Gibt es eine Möglichkeit, Produkte in alphabetischer Reihenfolge wieder in die Liste einzufügen?

Ich würde es manuell in “Produkte sortieren” machen, aber es gibt ungefähr 100 Produkte, und ich bin mir nicht sicher, wann der Client neue Produkte hinzufügt, das Problem wird nicht wiederkommen.

BEARBEITEN

Ich habe herausgefunden, dass bei Verwendung der Standardsortierung (Benutzerdefinierte Reihenfolge + Name) am Anfang alle Produkte standardmäßig in alphabetischer Reihenfolge angezeigt werden, sobald Sie jedoch einen Artikel aus der alphabetischen Reihenfolge verschieben (z. B. einen “F” -Artikel in vor einem “A”-Artikel) alle Bestellungen durcheinander gebracht, und es folgt nur die Bestellung nach der Bestellnummer des Produkts

  • Probieren Sie woocommerce auf Ihrem lokalen Gerät aus und es gibt eine standardmäßige Sortieroption in woo commerce alphabetisch Drop-down, die Sie verwenden können

    – Vikas Gautam

    31. Januar 2014 um 13:31 Uhr


  • Danke Vickey, aber ich bin mir nicht sicher, was du meinst, mein Lokal. Standard-Sortieroption, die ich verwende. Und es hat gut funktioniert, bis wir, glaube ich, angegeben haben, Produkte in “Produkte sortieren” zu verschieben.

    – Alex Reds

    31. Januar 2014 um 13:33 Uhr


  • Haben Sie dies überprüft WooCommerce Admin >> Einstellungen >> Katalog >> Wenn Sie die “Standardproduktsortierung” auf Standard setzen, werden sie in der Rangfolge angezeigt, die Sie für jedes Produkt festgelegt haben.

    – Vikas Gautam

    31. Januar 2014 um 13:39 Uhr

  • Ich habe eine Bühnenversion der Website, als alle Produkte in alphabetischer Reihenfolge waren, ich einen Punkt aus der Mitte der Liste an den Anfang verschoben habe und die gesamte alphabetische Reihenfolge verschwunden ist! Scheint, das ist, wo alle Probleme.

    – Alex Reds

    31. Januar 2014 um 13:39 Uhr

  • hast du den Code ausprobiert, den ich unten gepostet habe

    – Vikas Gautam

    31. Januar 2014 um 13:41 Uhr

Um die Antwort von @ Vikas_Gautam zu erweitern und sie so zu ändern, dass sie nach dem Titel des Beitrags sortiert wird, würden Sie Folgendes tun:

add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );

function custom_woocommerce_get_catalog_ordering_args( $args ) {
    $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

    if ( 'alphabetical' == $orderby_value ) {
        $args['orderby'] = 'title';
        $args['order'] = 'DESC';
    }

    return $args;
}

add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

function custom_woocommerce_catalog_orderby( $sortby ) {
    $sortby['alphabetical'] = __( 'Alphabetical' );
    return $sortby;
}

Werfen Sie einen Blick in den Codex für WP_Query-Sortierparameter.

<?php

add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );

function custom_woocommerce_get_catalog_ordering_args( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

if ( 'random_list' == $orderby_value ) {
$args['orderby'] = 'rand';
$args['order'] = '';
$args['meta_key'] = '';
}

return $args;
}

add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

function custom_woocommerce_catalog_orderby( $sortby ) {
$sortby['random_list'] = 'Random';
return $sortby;
}

  • Verwenden Sie die Reihenfolge nach Ihrer Bequemlichkeit

    – Vikas Gautam

    31. Januar 2014 um 13:42 Uhr


  • Sie können auch das Plugin verwenden wordpress.org/plugins/woocommerce-more-sorting

    – Vikas Gautam

    31. Januar 2014 um 13:43 Uhr

  • Danke Vickey! Ich werde es jetzt mit diesem Schnitt versuchen. Aber welche Argumente sollte ich für die alphabetische Sortierung verwenden? Hier sehe ich, dass der Code nur “Random” auswählt

    – Alex Reds

    31. Januar 2014 um 13:47 Uhr

  • Ich habe das von dir vorgeschlagene Plugin ausprobiert. Aber WordPress hat mich vor einigen “Hinweisen” gewarnt (Veraltet: Die Zuweisung des Rückgabewerts von “new by reference” ist veraltet…) Und hat mich auch gewarnt, dass das Plugin viele zusätzliche Inhalte generiert hat. Ich bin mir nicht sicher, ob ich das verstanden habe. aber es funktioniert … Ich bin mir nur nicht sicher, ob ich ihm vertrauen kann 🙂 In letzter Zeit verwende ich nur Premium-Plugins von Codecanyon, um Probleme zu verringern

    – Alex Reds

    31. Januar 2014 um 14:05 Uhr


  • Ja, ich verstehe es, aber das WordPress-Support-Team teilt dies immer mit, dass sie aus Sicherheitsgründen immer alle defekten Artikel entfernen, falls vorhanden

    – Vikas Gautam

    31. Januar 2014 um 14:33 Uhr

Um die Antwort von @helgatheviking zu erweitern, habe ich das versucht und es in (absteigender) alphabetischer Reihenfolge sortiert, aber nur, wenn die alphabetische Option in der Dropdown-Liste wegen ausgewählt wurde if ( 'alphabetical' == $orderby_value ) Zustand.

Dies ist ein Mod, der standardmäßig in aufsteigender alphabetischer Reihenfolge sortiert, wobei die Unterschiede in der Bedingung liegen if ('alphabetical' == $orderby_value || 'menu_order' == $orderby_value) und $args['order'] = 'ASC'

add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );

function custom_woocommerce_get_catalog_ordering_args( $args ) {
    $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

    if ( 'alphabetical' == $orderby_value || 'menu_order' == $orderby_value ) {
        $args['orderby'] = 'title';
        $args['order'] = 'ASC';
    }

    return $args;
}

add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

function custom_woocommerce_catalog_orderby( $sortby ) {
    $sortby['alphabetical'] = __( 'Alphabetical' );
    return $sortby;
}

Die Website, an der ich gearbeitet habe, hat Produkte gruppiert, also habe ich dafür gesorgt, dass sie auch alphabetisch sind …

add_filter( 'woocommerce_grouped_children_args', 'custom_grouped_children_args' );
function custom_grouped_children_args( $args ){
    $args['orderby'] = 'title';
    $args['order'] = 'ASC';
    return $args;
}

$catalog_orderby_options = apply_filters( 'woocommerce_catalog_orderby', array(
        'menu_order' => __( 'Default sorting', 'woocommerce' ),
   here   ->  'title' => __( 'Sortierung nach Titel, A–Z', 'woocommerce' ),
        'popularity' => __( 'Sort by popularity', 'woocommerce' ),
        'rating'     => __( 'Sort by average rating', 'woocommerce' ),
        'date'       => __( 'Sort by newness', 'woocommerce' ),
        'price'      => __( 'Sort by price: low to high', 'woocommerce' ),
        'price-desc' => __( 'Sort by price: high to low', 'woocommerce' )
    ) );

woocommerce_clean() ist veraltet, verwenden wc_clean() stattdessen.

https://docs.woocommerce.com/wc-apidocs/function-woocommerce_clean.html

1003690cookie-checkWoocommerce: Produkte in alphabetischer Reihenfolge anzeigen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy