Hello Nectar,
I doubt this is anything you guys are itching to deal with, but any insight would be much appreciated:
I'm trying to use a function to add a "items per page" dropdown. ---> looks like this--->
// Lets create the function to house our form
function woocommerce_catalog_page_ordering() {
?>
// Lets create the function to house our form
function woocommerce_catalog_page_ordering() {
?>
<form action="" method="POST" name="results">
<select name="woocommerce-sort-by-columns" id="woocommerce-sort-by-columns" class="sortby" onchange="this.form.submit()">
<?php
// This is where you can change the amounts per page that the user will use feel free to change the numbers and text as you want, in my case we had 4 products per row so I chose to have multiples of four for the user to select.
$shopCatalog_orderby = apply_filters('woocommerce_sortby_page', array(
'' => __('Results per page', 'woocommerce'),
'24' => __('24 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 '<option value="' . $sort_id . '" ' . selected( $_SESSION['sortby'], $sort_id, false ) . ' >' . $sort_name . '</option>';
?>
</select>
</form>
<?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, '/', 'your-web-address.com', 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 );
Sorry about that. Above is the code. It seems that there is some .js or cookie conflict between this function and salient, as it works on the tweenty13 theme in wordpress. If you guys could point me in a hint of the right direction that would be huge, as I've seen a lot of desire for this kind of functionality inside the woocommerce plugin, which they have yet to proprietarily address.
Hey Lew, it appears your response got cut off because you pasted code directly into the editor things broke as a result. Please paste your code into
next time so I can read :)
Sorry about that. Above is the code. It seems that there is some .js or cookie conflict between this function and salient, as it works on the tweenty13 theme in wordpress. If you guys could point me in a hint of the right direction that would be huge, as I've seen a lot of desire for this kind of functionality inside the woocommerce plugin, which they have yet to proprietarily address.
Best,
Lew
Hey again!
I believe it's not working because Salient already is already setting a filter for loop_shop_per_page. Just delete this out of the functions.php
Cheers :)