Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Template Name: The Vine
- *
- * @package WordPress
- * @subpackage Twenty_Eleven
- * @since Twenty Eleven 1.0
- */
- ?>
- <?php
- //Form Processing-----------------------------------------------------------------
- //Display chosen number of posts per page
- $gridperpage = array("8", "16", "32", "64", "96");
- $listperpage = array("10", "20", "40", "65", "100");
- $perpagecurrent = $_POST['perpage'];
- //If the number is already set, use it
- if (isset($_POST['perpage'])) {
- $perpage = $_POST['perpage'];
- }
- //If the number of posts matches the multiples of the grid numbers AND we're on the list page, switch the count to 20
- if ((!in_array($perpagecurrent, $listperpage)) && (($_POST['view']) == 'list') ){
- $perpage = '20';
- }
- //If we're on the grid page and the number is a multiple from the list page, switch to 32. Also do this if there is no value set yet since the default view is the grid
- elseif (((!in_array($perpagecurrent, $gridperpage)) && (($_POST['view']) == 'grid')) || (!$_POST['perpage']) ){
- $perpage = '32';
- }
- //Display chosen post types
- if ((!$_POST['userposts']) && (!$_POST['posts'])) :
- $posttype= array('tsv_userpost', 'post');
- elseif ((($_POST['userposts']) == 'true') && (($_POST['posts']) == 'true')) :
- $posttype= array('tsv_userpost', 'post');
- elseif ((($_POST['userposts']) == 'true') && (($_POST['posts']) == '')) :
- $posttype= 'tsv_userpost';
- elseif ((($_POST['userposts']) == '') && (($_POST['posts']) == 'true')) :
- $posttype= 'post';
- endif;
- //Display only selected User Post Categories
- if (isset($_POST['showvideos']) && ($_POST['showvideos'] == 'true')) {
- $cats[]='user-video';
- } if (isset($_POST['showimages']) && ($_POST['showimages'] == 'true')) {
- $cats[]='user-image';
- } if (isset($_POST['showaudio']) && ($_POST['showaudio'] == 'true')) {
- $cats[]='user-audio';
- } if (isset($_POST['showwriting']) && ($_POST['showwriting'] == 'true')) {
- $cats[]='user-writing';
- } if (isset($_POST['showevents']) && ($_POST['showevents'] == 'true')) {
- $cats[]='user-event';
- };
- $upostcat = implode(',',$cats); //Put all the selected categories into the $upostcat array
- ?>
- <?php
- //Sort posts by selected method
- if (isset($_POST['sortby']) && ($_POST['sortby'] == 'date')) {
- $sortmetakey='';
- $sortby='date';
- }
- elseif (isset($_POST['sortby']) && ($_POST['sortby'] == 'rating')) {
- $sortmetakey='ratings_average';
- $sortby='meta_value_num date';
- }
- elseif (isset($_POST['sortby']) && ($_POST['sortby'] == 'favscount')) {
- $sortmetakey='wpfp_favorites';
- $sortby='meta_value_num date';
- }
- elseif (isset($_POST['sortby']) && ($_POST['sortby'] == 'viewcount')) {
- $sortmetakey='_count-views_all';
- $sortby='meta_value_num date';
- };
- ?>
- <?php //Start of content
- get_header(); ?>
- <div id="vine-menu">
- <?php //Search the vine ?>
- <div class="vine-search">
- <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
- <label for="s" class="assistive-text"><?php _e( 'Search', 'twentyeleven' ); ?></label>
- <input type="text" class="field" name="s" id="vinesearch" placeholder="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" />
- <input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" />
- </form>
- </div>
- <?php //Browse the vine ?>
- <?php
- //Start filter menu
- ?>
- <form method="post" id="vine-sort-form" >
- <?php
- if ($_SERVER['REQUEST_METHOD']!='POST') {
- $notsubmitted='checked';
- $notsubmitted_dd='selected';
- };
- //Auto-select all post types when user first selects to show userposts
- if ('true' == ($_POST['userposts']) && ('' == ($_POST['showvideos'])) && ('' == ($_POST['showaudio'])) && ('' == ($_POST['showimages'])) && ('' == ($_POST['showwriting'])) && ('' == ($_POST['showevents'])) ) {
- $userpostselected='checked';
- };
- //Dont allow both post types to go unselected
- if ('true' != ($_POST['userposts']) && ('true' != ($_POST['posts']))) {
- $noselectnone='checked';
- };
- ?>
- <?php//Choose View ?>
- <?php
- if (($_POST['view'] == 'grid') || (!isset($_POST['view']))) { ?>
- <input id="viewgrid" type="radio" name="view" value="grid" onclick="this.form.submit()" <?php if ('grid' == ($_POST['view'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; endif ?> style="display:none;">
- <label class="imagelabel" id="gridchecked" for="viewgrid"><img src="/wordpress/image/icons/grid-on.png" /></label>
- <?php }
- else { ?>
- <input id="viewgrid" type="radio" name="view" value="grid" onclick="this.form.submit()" <?php if ('grid' == ($_POST['view'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; endif ?> style="display:none;">
- <label class="imagelabel" id="gridunchecked" for="viewgrid"><img src="/wordpress/image/icons/grid-off.png" /></label>
- <?php } ?>
- <?php
- if ($_POST['view'] == 'list') { ?>
- <input id="viewlist" type="radio" name="view" value="list" onclick="this.form.submit()" <?php if ('list' == ($_POST['view'])) : echo 'checked'; endif ?> style="display:none;">
- <label id="listchecked" class="imagelabel" for="viewlist"><img src="/wordpress/image/icons/list-on.png" /></label>
- <?php }
- else { ?>
- <input id="viewlist" type="radio" name="view" value="list" onclick="this.form.submit()" <?php if ('list' == ($_POST['view'])) : echo 'checked'; endif ?> style="display:none;">
- <label id="listunchecked" class="imagelabel" for="viewlist"><img src="/wordpress/image/icons/list-off.png" /></label>
- <?php } ?>
- <br />
- <div class="vine-menu-heading">Per page:</div>
- <?php if ((($_POST['view']) == 'grid') || (!isset($_POST['perpage']))) { ?>
- <select name="perpage" id="perpage">
- <option value="8" <?php if ('8' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">2 rows (8)</option>
- <option value="16" <?php if ('16' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">4 rows (16)</option>
- <option value="32" <?php if ('32' == ($_POST['perpage'])) : echo 'selected="selected"'; elseif ((in_array($perpagecurrent, $listperpage))) : echo 'selected="selected"'; elseif (!$_POST['perpage']) : echo 'selected="selected"'; endif;?> onclick="this.form.submit()">8 rows (32)</option>
- <option value="64" <?php if ('64' == ($_POST['perpage'])) : echo 'selected="selected"'; endif;?> onclick="this.form.submit()">16 rows (64)</option>
- <option value="96" <?php if ('96' == ($_POST['perpage'])) : echo 'selected="selected"'; endif;?> onclick="this.form.submit()">24 rows (96)</option>
- </select>
- <?php }
- else { ?>
- <select name="perpage" id="perpage">
- <option value="10" <?php if ('10' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">10 posts</option>
- <option value="20" <?php if ('20' == ($_POST['perpage'])) : echo 'selected="selected"'; elseif ((in_array($perpagecurrent, $gridperpage))) : echo 'selected="selected"'; elseif (!$_POST['perpage']) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">20 posts</option>
- <option value="40" <?php if ('40' == ($_POST['perpage'])) : echo 'selected="selected"'; endif;?> onclick="this.form.submit()">40 posts</option>
- <option value="65" <?php if ('65' == ($_POST['perpage'])) : echo 'selected="selected"'; endif;?> onclick="this.form.submit()">65 posts</option>
- <option value="100" <?php if ('100' == ($_POST['perpage'])) : echo 'selected="selected"'; endif;?> onclick="this.form.submit()">100 posts</option>
- </select>
- <?php } ?>
- <div class="vine-menu-heading">Sort by:</div>
- <input type="radio" name="sortby" value="date" onclick="this.form.submit()" <?php if ('date' == ($_POST['sortby'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; endif; ?>>Date<br />
- <input type="radio" name="sortby" value="rating" onclick="this.form.submit()" <?php if ('rating' == ($_POST['sortby'])) : echo 'checked'; endif ?>>Rating<br />
- <input type="radio" name="sortby" value="favscount" onclick="this.form.submit()" <?php if ('favscount' == ($_POST['sortby'])) : echo 'checked'; endif ?>># of Favs<br />
- <input type="radio" name="sortby" value="viewcount" onclick="this.form.submit()" <?php if ('viewcount' == ($_POST['sortby'])) : echo 'checked'; endif ?>># of Views<br />
- <div class="vine-menu-heading">Post Type:</div>
- <input type="checkbox" name="posts" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['posts'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif($noselectnone) : echo $noselectnone; endif;?>>Featured Posts<br />
- <input type="checkbox" name="userposts" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['userposts'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif($noselectnone) : echo $noselectnone; endif; ?>>User Posts<br />
- <div class="user-cat-select">
- <?php
- if ('true' == ($_POST['userposts'])) {
- if ('' == ($_POST['posts'])) { ?>
- <input type="checkbox" name="showvideos" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['showvideos'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Video<br />
- <input type="checkbox" name="showimages" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['showimages'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Images<br />
- <input type="checkbox" name="showwriting" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['showwriting'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Writing<br />
- <input type="checkbox" name="showaudio" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['showaudio'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Audio<br />
- <input type="checkbox" name="showevents" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['showevents'])) : echo 'checked'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Events<br />
- <?php }
- }?>
- </div>
- </form>
- </div><?php //.thevinemenu ?>
- <div class="vine-display">
- <?php
- // The Query
- $counter = 1;
- $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
- $the_query = new WP_Query( array(
- 'post_type'=> $posttype,
- 'posts_per_page'=>$perpage,
- 'paged'=> $paged,
- 'category_name'=>$upostcat,
- 'meta_key' =>$sortmetakey,
- 'orderby' =>$sortby,
- 'order'=> 'DESC'
- )
- );
- //Top Navigation
- wp_pagenavi( array( 'query' => $the_query ) );
- //Start loop
- while ( $the_query->have_posts() ) :
- $the_query->the_post();
- if ('grid' == ($_POST['view']) || ($_SERVER['REQUEST_METHOD']!='POST')) : get_template_part('the-vine', 'grid');
- elseif ('list' == ($_POST['view'])) : get_template_part('the-vine', 'list');
- endif;
- ?>
- <?php endwhile; ?>
- <div class="wp-page-navi-bottom"><?php wp_pagenavi( array( 'query' => $the_query ) ); ?></div>
- <?php wp_reset_query(); ?>
- </div>
- <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement