public static function get_pagination_permalink($url, $page) { // $url = get_permalink($page_id); $sep = stripos($url, "?") !== FALSE ? '&' : '?'; $url = rtrim($url, '/'); $sortparam = ''; $args = wpinventory_get_filter_criteria(); unset($args['search']); unset($args['sort']); unset($args['caller']); $sortparam = http_build_query($args); // TODO: Enable Category SEO URLs return $url . $sep . 'inventory_page=' . $page . '&' . $sortparam; }
/** * Render the filter form at the top. * * @param mixed $args - array / url of parameters * boolean search - true (default) | false - show search input * boolean sort - true (default) | false - show sort drop-down * boolean categories - true (default) | false - show categories dropdown */ function wpinventory_filter_form($args = NULL) { global $post; $WPIMLoop = wpinventory_get_wpim(); $args = wpinventory_get_filter_criteria(); extract($args); $form = ''; if ($search) { $form .= '<span class="search">' . PHP_EOL; $form .= $search_label ? '<label for="inventory_search">' . $search_label . '</label>' : ''; $form .= '<input type="text" name="inventory_search" value="' . $inventory_search . '" />'; $form .= '</span>' . PHP_EOL; } if ($sort) { $fields = $WPIMLoop->get_labels(); $fields = apply_filters('wpim_filter_sort_by_options' . $caller, $fields); $form .= '<span class="sort">'; $form .= $sort_label ? '<label for="inventory_sort">' . $sort_label . '</label>' : ''; $form .= '<select name="inventory_sort_by">' . PHP_EOL; $form .= !$sort_label ? '<option value="">' . $WPIMLoop->__('Sort By...') . '</option>' . PHP_EOL : ''; foreach ($fields as $field => $label) { if ($label['is_used']) { $form .= '<option value="' . $field . '"'; $form .= $field == $inventory_sort_by ? ' selected' : ''; $form .= '>' . $label['label'] . '</option>' . PHP_EOL; } } $form .= '</select></span>' . PHP_EOL; } if ($categories) { $categories = wpinventory_get_categories(); $categories = apply_filters('wpim_filter_categories_options', $categories); $form .= '<span class="categories"><select name="inventory_category_id">' . PHP_EOL; $form .= '<option value="">' . sprintf($WPIMLoop->__('Choose %s...'), wpinventory_get_the_label('category_id')) . '</option>' . PHP_EOL; foreach ($categories as $category) { $form .= '<option value="' . $category->category_id . '"'; $form .= $category->category_id == $inventory_category_id ? ' selected' : ''; $form .= '>' . $category->category_name . '</option>' . PHP_EOL; } $form .= '</select></span>' . PHP_EOL; } $url = empty($post) ? 'admin.php?page=' . $_GET['page'] : get_permalink($post->ID); if ($form) { $form .= '<input type="submit" name="inventory_filter" value="' . $WPIMLoop->__('Go') . '" />' . PHP_EOL; $form = '<form class="wpinventory_filter" name="wpinventory_filter" method="post" id="inventory_search" action="' . $url . '#inventory_filter">' . PHP_EOL . $form . '</form>' . PHP_EOL; } return $form; }