HEX
Server: Apache
System: Linux c119.dattaweb.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: c1190199 (57165)
PHP: 7.4.33
Disabled: mail, system, shell, exec, system_exec, shell_exec, mysql_pconnect, passthru, popen, proc_open, proc_close, proc_nice, proc_terminate, proc_get_status, escapeshellarg, escapeshellcmd, eval, dl, imap_mail, libvirt_connect, gnupg_init, unsetenv, apache_setenv, pcntl_exec, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_get_handler, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_getpriority, pcntl_setpriority, pcntl_async_signals, opcache_get_status, opcache_reset, opcache_get_configuration
Upload Files
File: /home/c1190199/public_html/wp-content/themes/directory/Templates/snippets/sorting.php
{ifset $themeOptions->directory->showSortingControl}

<div class="dir-sorting clearfix">
	
	<div class="label">{_ "Showing"} {$GLOBALS['wp_query']->post_count} {_ "from"} {$GLOBALS['wp_query']->found_posts} {_ "Items"}</div>

	<form>

		{var $params = array()} 
		{parse_str($_SERVER['QUERY_STRING'],$params)}
		
		{foreach $params as $key => $param}
		{if ($key != "pagination") && ($key != "orderby") && ($key != "order")}
		<input type="hidden" id="sorting-{$key}" name="{$key}" value="{$param}">
		{/if}
		{/foreach}

		<div class="count">
			<label for="pagination">{_ "Count:"}</label>
			<select name="pagination" id="sorting-pagination">
				<option value="5">5</option>
				<option value="10">10</option>
				<option value="20">20</option>
				<option value="30">30</option>
				<option value="40">40</option>
				<option value="50">50</option>
				<option value="100">100</option>
			</select>
		</div>

		<div class="sortby">
			<label for="orderby">{_ "Sort by:"}</label>
			<select name="orderby" id="sorting-sortby">
				<option value="post_date">{_ "Date"}</option>
				<option value="post_title">{_ "Title"}</option>
				{ifset $themeOptions->rating->enableRating}
				<option value="rating">{_ "Rating"}</option>
				{/ifset}
				<option value="comment_count">{_ "Comment count"}</option>
				<option value="packages">{_ "Packages"}</option>
			</select>
		</div>

		<div class="sort">
			<label for="order">{_ "Sort:"}</label>
			<select name="order" id="sorting-sort">
				<option value="ASC">&and;</option>
				<option value="DESC">&or;</option>
			</select>
		</div>

	</form>

</div>

<script>
jQuery(document).ready(function($) {
	
	var sorting = $('.dir-sorting'),
		form = sorting.find('form'),
		count = sorting.find('#sorting-pagination'),
		sortby = sorting.find('#sorting-sortby'),
		sort = sorting.find('#sorting-sort');

	var firstPageLink = "{!get_pagenum_link(1,false)}";

	var values = { };
		values.count = {get_query_var('posts_per_page')};
		values.sortby = "{if !empty($_GET['orderby'])}{!$_GET['orderby']}{elseif isset($themeOptions->directory->defaultOrderby)}{!$themeOptions->directory->defaultOrderby}{else}date{/if}";
		values.sort = "{if !empty($_GET['order'])}{!$_GET['order']}{elseif isset($themeOptions->directory->defaultOrder)}{!$themeOptions->directory->defaultOrder}{else}DESC{/if}";
		
	// if select don't have value
	if (count.find("option[value='"+values.count+"']").length == 0) {
		count.prepend('<option value="'+values.count+'">'+values.count+'</option>');
	}
	count.val(values.count);
	sortby.val(values.sortby);
	sort.val(values.sort);

	count.change(function(event) {
		form.attr("action",firstPageLink);
		form.submit();
	});
	sortby.change(function(event) {
		form.removeAttr('action');
		form.submit();
	});
	sort.change(function(event) {
		form.removeAttr('action');
		form.submit();
	});

});
</script>

{/ifset}