Woocommerce-Produkte pro Seite Dropdown

Ich benutze den folgenden Code von hier

http://designloud.com/how-to-add-products-per-page-dropdown-to-woocommerce/?showmodaldialog=1#comment-1554

um eine Dropdown-Auswahl anzuzeigen, damit der Benutzer auswählen kann, wie viele Produkte pro Seite angezeigt werden sollen. Es funktioniert alles außer der Paginierung. Wenn Sie die nächste Seite auswählen, wird der Fehler 404 für die Seite nicht gefunden angezeigt. Ich denke es hat etwas mit den cookiesn zu tun. Kann jemand helfen? Vielen Dank

// Lets create the function to house our form function woocommerce_catalog_page_ordering() { ?> 
__('Results per page', 'woocommerce'), '2' => __('2 per page', 'woocommerce'), '36' => __('36 per page', 'woocommerce'), '48' => __('48 per page', 'woocommerce'), '64' => __('64 per page', 'woocommerce'), )); foreach ( $shopCatalog_orderby as $sort_id => $sort_name ) echo '' . $sort_name . ''; ?>
<?php } // now we set our cookie if we need to function dl_sort_by_page($count) { if (isset($_COOKIE['shop_pageResults'])) { // if normal page load with cookie $count = $_COOKIE['shop_pageResults']; } if (isset($_POST['woocommerce-sort-by-columns'])) { //if form submitted setcookie('shop_pageResults', $_POST['woocommerce-sort-by-columns'], time()+1209600, '/', 'beadsnwire.lukeseall.co.uk/', false); //this will fail if any part of page has been output- hope this works! $count = $_POST['woocommerce-sort-by-columns']; } // else normal page load and no cookie return $count; } add_filter('loop_shop_per_page','dl_sort_by_page'); add_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_page_ordering', 20 );

Solutions Collecting From Web of "Woocommerce-Produkte pro Seite Dropdown"

Dies hat nichts mit Cookies zu tun, das ist was passiert: 1. Besucher geht auf Seite 4/6, die Produkte 40-50 (10 pro Seite) zeigt 2. Wenn Besucher Produkte pro Seite von 10 bis 30 ändert, wird er immer noch auf Seite 4, wenn es nur 2 Seiten gibt (60 Produkte / 30 = 2 Seiten)

Dies erzeugt den 404.

Um dies zu beheben, können Sie dies auch über dem Formular hinzufügen:

 global $wp_query; $cat = $wp_query->get_queried_object(); $action = ""; // default to current page if( isset( $cat->term_id ) ) $action = get_term_link( (int)$cat->term_id, "product_cat" ); 

Sie sollten dies einfach vor dem Formular hinzufügen und die Aktion festlegen

 

(Hoffe es ist makellos, habe es hier einfach eingegeben)

Hoffe das hilft!

Bearbeiten: Ich habe ein Plugin erstellt, um das Dropdown-Menü “Produkt pro Seite” hinzuzufügen, das ist noch nicht getriggers, aber ich werde es auf meine ToDo-Liste setzen. ( http://wordpress.org/plugins/woocommerce-products-per-page/ )