Trying to create plugin for results per page – Woocommerce
-
Hey all, I need some help here if anyone is able to chime in and offer their support. So I want to create a plugin that will offer a dropdown on the catalog page of Woocommerce so that users can select how many products are being viewed per page. I almost (in my eyes) have it but cant quite work out the kinks. Any takers?
Here is what I have:
function woocommerce_sortby_page() { if ('woocommerce_catalog_page_ordering'==$twelve) { add_filter('loop_shop_per_page', create_function('$cols', 'return 12;')); } elseif ('woocommerce_catalog_page_ordering'==$sixteen) { add_filter('loop_shop_per_page', create_function('$cols', 'return 16;')); } elseif ('woocommerce_catalog_page_ordering'==$twenty) { add_filter('loop_shop_per_page', create_function('$cols', 'return 20;')); } elseif ('woocommerce_catalog_page_ordering'==$twentyfour) { add_filter('loop_shop_per_page', create_function('$cols', 'return 24;')); } elseif ('woocommerce_catalog_page_ordering'==$twentyeight) { add_filter('loop_shop_per_page', create_function('$cols', 'return 28;')); } else { add_filter('loop_shop_per_page', create_function('$cols', 'return 4;'));; } } function woocommerce_catalog_page_ordering() { ?> <form action="<?php woocommerce_sortby_page ?>"> <select name="woocommerce-sort-by-columns"> <option value="<?php $twelve ?>">12</option> <option value="<?php $sixteen ?>">16</option> <option value="<?php $twenty ?>" selected>20</option> <option value="<?php $twentyfour ?>">24</option> <option value="<?php $twentyeight ?>">28</option> </select> </form> <?php } add_action( 'woocommerce_pagination', 'woocommerce_catalog_page_ordering', 20 );
I’m sure I am probably way off but am new to plugins and relatively new to the codex and PHP..
Here is how Woo does their “Show results per page” which I assume would be similar to what I need to do?
<form class="woocommerce_ordering" method="POST"> <select name="sort" class="orderby"> <?php $catalog_orderby = apply_filters('woocommerce_catalog_orderby', array( 'menu_order' => __('Default sorting', 'woocommerce'), 'title' => __('Sort alphabetically', 'woocommerce'), 'date' => __('Sort by most recent', 'woocommerce'), 'price' => __('Sort by price', 'woocommerce') )); foreach ( $catalog_orderby as $id => $name ) echo '<option value="' . $id . '" ' . selected( $_SESSION['orderby'], $id, false ) . '>' . $name . '</option>'; ?> </select> </form>
Thanks for the help and Happy Holidays!
- The topic ‘Trying to create plugin for results per page – Woocommerce’ is closed to new replies.