Zeigen Sie das Woocommerce-Sortierungs-Dropdown als Liste an

Lesezeit: 2 Minuten

Ich versuche, das Woocommerce-Sortierungs-Dropdown durch eine Liste zu ersetzen, und ich habe das bisher, was gut funktioniert.

Das Problem ist, dass die Optionen nicht in anklickbare funktionierende Links umgewandelt werden. Irgendwelche Ideen, wie ich es tun kann?

<div class="wrapper-dropdown">
<span>I'm kinda the label!</span>
<ul class="dropdown">
<?php
    $catalog_orderby = apply_filters( 'woocommerce_catalog_orderby', array(
        'menu_order' => __( 'Default sorting', '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' )
) );

if ( get_option( 'woocommerce_enable_review_rating' ) == 'no' )
    unset( $catalog_orderby['rating'] );

foreach ( $catalog_orderby as $id => $name )
    echo '<li>' . esc_attr( $name ) . '</li>';
?>

</ul>

Vielen Dank.

  • Hallo, ich habe mich gefragt, wo du das hinzugefügt hast? Ich habe versucht, dies über die hinzuzufügen functions.php Datei, aber wenn ich zu der komme foreach Code, funktioniert die Website nicht mehr.

    – Anake.me

    27. Mai 2018 um 5:21 Uhr

  • Hallo @Scott Hunter, können wir diese standardmäßigen Produktsortieroptionen erhalten.

    – Jasbir Rana

    14. Februar 2019 um 7:00 Uhr

dein li Etikett in der foreach Schleife sollte ungefähr so ​​​​aussehen:

 echo '<li><a href="' . get_permalink( woocommerce_get_page_id( 'shop' ) ) . '?orderby=' . $id . '" >' . esc_attr( $name ) . '</a></li>';

  • Perfekt! Vielen Dank 🙂

    – Scott Jäger

    1. September 2017 um 2:04 Uhr

woocommerce_get_page_id() ist seit WC 3.0 veraltet

Verwenden Sie stattdessen diesen Code:

<ul class="woocommerce-ordering">
<?php
    $term = get_queried_object();
    $term_url   = get_term_link($term->term_id);
?>
<?php foreach ($catalog_orderby_options as $id => $name) : ?>
    <?php echo '<li><a href="' . $term_url . '?orderby=' . $id . '">' . esc_attr( $name ) . '</a></li>'; ?>
<?php endforeach; ?>

1227410cookie-checkZeigen Sie das Woocommerce-Sortierungs-Dropdown als Liste an

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

Privacy policy