function wpv_filter_taxonomy_order_by_admin($view_settings) { $view_settings = wpv_taxonomy_order_by_default_settings($view_settings); global $WP_Views, $taxonomy_order_by; ?> <fieldset> <legend><strong><?php _e('Order by:', 'wpv-views'); ?> </strong></legend> <ul style="padding-left:30px;"> <li> <select name="_wpv_settings[taxonomy_orderby]"> <?php foreach ($taxonomy_order_by as $id => $text) { $selected = $view_settings['taxonomy_orderby'] == $id ? ' selected="selected"' : ''; ?> <option value="<?php echo $id; ?> " <?php echo $selected; ?> ><?php echo $text; ?> </option> <?php } ?> </select> </li> <li> <select name="_wpv_settings[taxonomy_order]"> <option value="DESC"><?php _e('Descending', 'wpv-views'); ?> </option> <?php $selected = $view_settings['taxonomy_order'] == 'ASC' ? ' selected="selected"' : ''; ?> <option value="ASC" <?php echo $selected; ?> ><?php _e('Ascending', 'wpv-views'); ?> </option> </select> </li> </ul> </fieldset> <?php }
function add_view_ordering($view_settings, $view_id) { global $views_edit_help, $WP_Views; $hide = ''; if (isset($view_settings['sections-show-hide']) && isset($view_settings['sections-show-hide']['ordering']) && 'off' == $view_settings['sections-show-hide']['ordering']) { $hide = ' hidden'; } ?> <div class="wpv-setting-container wpv-settings-ordering js-wpv-settings-ordering<?php echo $hide; ?> "> <div class="wpv-settings-header"> <h3> <?php _e('Ordering', 'wpv-views'); ?> <i class="icon-question-sign js-display-tooltip" data-header="<?php echo $views_edit_help['ordering']['title']; ?> " data-content="<?php echo $views_edit_help['ordering']['content']; ?> "></i> </h3> </div> <div class="wpv-setting"> <p class="wpv-settings-query-type-posts js-wpv-settings-posts-order"<?php echo $view_settings['query_type'][0] != 'posts' ? ' style="display: none;"' : ''; ?> > <?php $view_settings = wpv_order_by_default_settings($view_settings); // TODO this should not be needed ?> <label for="wpv-settings-orderby"><?php _e('Order by: ', 'wpv-views'); ?> </label> <select id="wpv-settings-orderby" class="js-wpv-posts-orderby" name="_wpv_settings[orderby]" data-rand="<?php _e('Pagination and random ordering do not work together and would produce unexpected results. Please disable pagination or random ordering.', 'wpv-views'); ?> "> <option value="post_date"><?php _e('post date', 'wpv-views'); ?> </option> <?php $selected = $view_settings['orderby'] == 'post_title' ? ' selected="selected"' : ''; ?> <option value="post_title" <?php echo $selected; ?> ><?php _e('post title', 'wpv-views'); ?> </option> <?php $selected = $view_settings['orderby'] == 'ID' ? ' selected="selected"' : ''; ?> <option value="ID" <?php echo $selected; ?> ><?php _e('post id', 'wpv-views'); ?> </option> <?php $selected = $view_settings['orderby'] == 'modified' ? ' selected="selected"' : ''; ?> <option value="modified" <?php echo $selected; ?> ><?php _e('last modified', 'wpv-views'); ?> </option> <?php $selected = $view_settings['orderby'] == 'menu_order' ? ' selected="selected"' : ''; ?> <option value="menu_order" <?php echo $selected; ?> ><?php _e('menu order', 'wpv-views'); ?> </option> <?php $selected = $view_settings['orderby'] == 'rand' ? ' selected="selected"' : ''; ?> <option value="rand" <?php echo $selected; ?> ><?php _e('random order', 'wpv-views'); ?> </option> <?php $all_types_fields = get_option('wpcf-fields', array()); $cf_keys = $WP_Views->get_meta_keys(); foreach ($cf_keys as $key) { $selected = $view_settings['orderby'] == "field-" . $key ? ' selected="selected"' : ''; $option = '<option value="field-' . $key . '"' . $selected . '>'; if (stripos($key, 'wpcf-') === 0) { if (isset($all_types_fields[substr($key, 5)]) && isset($all_types_fields[substr($key, 5)]['name'])) { $option .= sprintf(__('Field - %s', 'wpv-views'), $all_types_fields[substr($key, 5)]['name']); } else { $option .= sprintf(__('Field - %s', 'wpv-views'), $key); } } else { $option .= sprintf(__('Field - %s', 'wpv-views'), $key); } $option .= '</option>'; echo $option; } ?> </select> <select name="_wpv_settings[order]" class="js-wpv-posts-order"> <option value="DESC"><?php _e('Descending', 'wpv-views'); ?> </option> <?php $selected = $view_settings['order'] == 'ASC' ? ' selected="selected"' : ''; ?> <option value="ASC"<?php echo $selected; ?> ><?php _e('Ascending', 'wpv-views'); ?> </option> </select> </p> <p class="wpv-settings-query-type-taxonomy"<?php echo $view_settings['query_type'][0] != 'taxonomy' ? ' style="display: none;"' : ''; ?> > <?php $view_settings = wpv_taxonomy_order_by_default_settings($view_settings); $taxonomy_order_by = array('id' => __('ID'), 'count' => __('Count'), 'name' => __('Name'), 'slug' => __('Slug'), 'term_group' => __('Term_group'), 'none' => __('None')); ?> <label for="wpv-settings-orderby"><?php _e('Order by: ', 'wpv-views'); ?> </label> <select id="wpv-settings-orderby" class="js-wpv-taxonomy-orderby" name="_wpv_settings[taxonomy_orderby]"> <?php foreach ($taxonomy_order_by as $id => $text) { $selected = $view_settings['taxonomy_orderby'] == $id ? ' selected="selected"' : ''; ?> <option value="<?php echo $id; ?> " <?php echo $selected; ?> ><?php echo $text; ?> </option> <?php } ?> </select> <select name="_wpv_settings[taxonomy_order]" class="js-wpv-taxonomy-order"> <option value="DESC"><?php _e('Descending', 'wpv-views'); ?> </option> <?php $selected = $view_settings['taxonomy_order'] == 'ASC' ? ' selected="selected"' : ''; ?> <option value="ASC"<?php echo $selected; ?> ><?php _e('Ascending', 'wpv-views'); ?> </option> </select> </p> <p class="wpv-settings-query-type-users"<?php echo $view_settings['query_type'][0] != 'users' ? ' style="display: none;"' : ''; ?> > <?php $users_order_by = array('user_login' => __('user login'), 'ID' => __('user id'), 'user_name' => __('user name'), 'display_name' => __('user display name'), 'user_nicename' => __('user nicename'), 'user_email' => __('user email'), 'user_url' => __('user url'), 'user_registered' => __('user registered date'), 'post_count' => __('user post count')); if (!isset($view_settings['users_orderby'])) { $view_settings['users_orderby'] = 'user_login'; } if (!isset($view_settings['users_order'])) { $view_settings['users_order'] = 'DESC'; } ?> <label for="wpv-settings-orderby"><?php _e('Order by: ', 'wpv-views'); ?> </label> <select id="wpv-settings-orderby" class="js-wpv-users-orderby" name="_wpv_settings[users_orderby]"> <?php foreach ($users_order_by as $id => $text) { $selected = $view_settings['users_orderby'] == $id ? ' selected="selected"' : ''; ?> <option value="<?php echo $id; ?> " <?php echo $selected; ?> ><?php echo $text; ?> </option> <?php } ?> </select> <select name="_wpv_settings[users_order]" class="js-wpv-users-order"> <?php $selected = $view_settings['users_order'] == 'DESC' ? ' selected="selected"' : ''; ?> <option value="DESC"<?php echo $selected; ?> ><?php _e('Descending', 'wpv-views'); ?> </option> <?php $selected = $view_settings['users_order'] == 'ASC' ? ' selected="selected"' : ''; ?> <option value="ASC"<?php echo $selected; ?> ><?php _e('Ascending', 'wpv-views'); ?> </option> </select> </p> <p class="update-button-wrap"> <button data-success="<?php echo htmlentities(__('Sorting options updated', 'wpv-views'), ENT_QUOTES); ?> " data-unsaved="<?php echo htmlentities(__('Sorting options not saved', 'wpv-views'), ENT_QUOTES); ?> " data-nonce="<?php echo wp_create_nonce('wpv_view_ordering_nonce'); ?> " class="js-wpv-ordering-update button-secondary" disabled="disabled"><?php _e('Update', 'wpv-views'); ?> </button> </p> </div> </div> <?php }
function wpv_filter_taxonomy_order_by_admin_summary($view_settings) { $view_settings = wpv_taxonomy_order_by_default_settings($view_settings); global $taxonomy_order_by; $order_by = $taxonomy_order_by[$view_settings['taxonomy_orderby']]; $order = __('descending', 'wpv-views'); if ($view_settings['taxonomy_order'] == 'ASC') { $order = __('ascending', 'wpv-views'); } echo sprintf(__(', ordered by %s, %s', 'wpv-views'), $order_by, $order); }
/** * wpv_get_ordering_summary * * Returns the sorting summary for a View * * @param $view_settings * * @returns (string) $summary * * @since 1.6.0 */ function wpv_get_ordering_summary($view_settings, $context = 'listing') { $view_settings = wpv_order_by_default_settings($view_settings); $view_settings = wpv_taxonomy_order_by_default_settings($view_settings); $view_settings = wpv_users_order_by_default_settings($view_settings); $return = ''; if (!isset($view_settings['query_type']) || isset($view_settings['query_type']) && $view_settings['query_type'][0] == 'posts') { switch ($view_settings['orderby']) { case 'post_date': $order_by = __('post date', 'wpv-views'); break; case 'post_title': $order_by = __('post title', 'wpv-views'); break; case 'ID': $order_by = __('post ID', 'wpv-views'); break; case 'menu_order': $order_by = __('menu order', 'wpv-views'); break; case 'rand': $order_by = __('random order', 'wpv-views'); break; default: $order_by = str_replace('field-', '', $view_settings['orderby']); $order_by = sprintf(__('Field - %s', 'wpv-views'), $order_by); break; } $order = __('descending', 'wpv-views'); if ($view_settings['order'] == 'ASC') { $order = __('ascending', 'wpv-views'); } } if (isset($view_settings['query_type']) && $view_settings['query_type'][0] == 'taxonomy') { $order_by = ''; switch ($view_settings['taxonomy_orderby']) { case 'count': $order_by = __('term count', 'wpv-views'); break; case 'name': $order_by = __('term name', 'wpv-views'); break; case 'slug': $order_by = __('term slug', 'wpv-views'); break; case 'term_group': $order_by = __('term group', 'wpv-views'); break; case 'none': $order_by = __('no specific criteria', 'wpv-views'); break; } $order = __('descending', 'wpv-views'); if ($view_settings['taxonomy_order'] == 'ASC') { $order = __('ascending', 'wpv-views'); } } if (isset($view_settings['query_type']) && $view_settings['query_type'][0] == 'users') { $order_by = ''; switch ($view_settings['users_orderby']) { case 'user_login': $order_by = __('user login', 'wpv-views'); break; case 'ID': $order_by = __('user ID', 'wpv-views'); break; case 'user_name': $order_by = __('user name', 'wpv-views'); break; case 'display_name': $order_by = __('display name', 'wpv-views'); break; case 'user_nicename': $order_by = __('user nicename', 'wpv-views'); break; case 'user_email': $order_by = __('user email', 'wpv-views'); break; case 'user_url': $order_by = __('user url', 'wpv-views'); break; case 'user_registered': $order_by = __('user registered date', 'wpv-views'); break; case 'post_count': $order_by = __('user post count', 'wpv-views'); break; } $order = __('descending', 'wpv-views'); if ($view_settings['users_order'] == 'ASC') { $order = __('ascending', 'wpv-views'); } } $order_by = esc_html($order_by); $order = esc_html($order); if ($context == 'embedded-info') { $return .= sprintf(__('ordered by <strong>%s</strong> in <strong>%s</strong> order', 'wpv-views'), $order_by, $order); } else { $return .= sprintf(__(' ordered by %s, %s', 'wpv-views'), $order_by, $order); } return $return; }