Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
/**
 * 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;
}