Advertisement
monecchi

Custom Post Type/Query Function WordPress Template

Aug 18th, 2014
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.15 KB | None | 0 0
  1. <?php
  2. /*
  3. Template Name: Food Menu
  4. */
  5.     get_header();
  6.  
  7.     $food_cats = rwmb_meta('verona_food_categories', 'type=taxonomy&taxonomy=food_menu_categories');
  8.     $food_cats_array[0] = 'All Food Categories';
  9.     if($food_cats) {
  10.         foreach($food_cats as $food_cat) {
  11.             $food_cats_array[$food_cat->term_id] = $food_cat->name;
  12.         }
  13.     }
  14.     $args = array(
  15.         'paged'=>$paged,
  16.         'post_type' => 'food_menu',
  17.         'posts_per_page' => ot_get_option('food_items_number', '18', '', '', ''),
  18.     );
  19.     if($food_cats){
  20.         $args['tax_query'][] = array(
  21.             'taxonomy'  => 'food_menu_categories',
  22.             'field'     => 'slug',
  23.             'terms'     => $food_cats_array,
  24.         );
  25.     }
  26.     $food_menu_loop = new WP_Query($args);
  27.  
  28.     $count = 1;
  29. ?>
  30. <!-- Replicating the Full Width Page Markup - The Page Content - full-width-page.php -->
  31.     <?php while ( have_posts() ) : the_post();
  32.         the_content(); // The page content
  33.     endwhile; ?>
  34. <!-- End of the Page Content -->
  35.  
  36. <div class="fullrow">
  37.  
  38. <?php if(ot_get_option('food_filter') == 'enabled') { ?>
  39. <div class="vc_row wpb_row vc_row-fluid">
  40.     <div class="vc_col-sm-12 wpb_column vc_column_container">
  41.         <div class="wpb_wrapper">
  42.            
  43.     <div class="wpb_text_column wpb_content_element ">
  44.         <div class="wpb_wrapper">
  45. <ul id="filters" class="tipos-cardapio clearfix">
  46.     <li><a class="selected" href="#" data-filter="*"><?php echo __('See All', 'Verona'); ?></a></li>
  47.             <?php
  48.             if(ot_get_option('food_categories_order') != 'random') {
  49.                 $args = array(
  50.                     'orderby'       => 'name',
  51.                     'order'         => ot_get_option('food_categories_order'),
  52.                     'hide_empty'    => 1
  53.                     );
  54.             } else {
  55.                 $args = array(
  56.                     'orderby'       => 'none',
  57.                     'hide_empty'    => 1
  58.                     );
  59.             }
  60.  
  61.             if(empty($food_cats)) {
  62.                 $terms = get_terms('food_menu_categories', $args);
  63.             } else {
  64.                 $terms = wp_get_post_terms( $post->ID, 'food_menu_categories', $args );
  65.             }
  66.  
  67.             $menu_order = array();
  68.             foreach ($terms as $key => $row)
  69.             {
  70.                 $menu_order[$key] = $row->menu_order;
  71.             }
  72.             array_multisort($menu_order, SORT_ASC, $terms);
  73.  
  74.  
  75.                 $count = count($terms);
  76.                 if ( $count > 0 ){
  77.  
  78.                     foreach ( $terms as $term ) {
  79.  
  80.                         $meta = get_option('first_section');
  81.                         if (empty($meta)) $meta = array();
  82.                         if (!is_array($meta)) $meta = (array) $meta;
  83.                         $meta = isset($meta[$term->term_id]) ? $meta[$term->term_id] : array();
  84.  
  85.                         if(isset($meta['icon'])) {
  86.                             $images = $meta['icon'];
  87.                             foreach ($images as $att) {
  88.                                 // show image
  89.                                 echo wp_get_attachment_image($att);
  90.                             }
  91.                         }
  92.  
  93.                         echo '<li>';
  94.                         echo '<a href="#" data-filter=".'.$term->slug.'">';
  95.                         echo $term->name;
  96.                         echo '</a>';
  97.                         echo '</li>';
  98.  
  99.                     }
  100.                 }
  101.             ?>
  102. </ul>
  103. </div>
  104.         </div>
  105.     </div>
  106.         </div>
  107.     </div>
  108. </div>
  109.  
  110. <div id="cbp-vm" class="cbp-vm-switcher cbp-vm-view-grid">
  111.   <div class="cbp-vm-options">
  112.    <a href="#" class="cbp-vm-icon cbp-vm-grid cbp-vm-selected" data-view="cbp-vm-view-grid">Grid View</a>
  113.    <a href="#" class="cbp-vm-icon cbp-vm-list" data-view="cbp-vm-view-list">List View</a>
  114. </div>
  115.  <ul class="bloco-cardapio">
  116. <?php } else { ?> <!-- End if filtering enabled -->
  117.  
  118. <div id="cbp-vm" class="cbp-vm-switcher cbp-vm-view-grid">
  119.   <div class="cbp-vm-options">
  120.    <a href="#" class="cbp-vm-icon cbp-vm-grid cbp-vm-selected" data-view="cbp-vm-view-grid">Grid View</a>
  121.    <a href="#" class="cbp-vm-icon cbp-vm-list" data-view="cbp-vm-view-list">List View</a>
  122. </div>
  123.  <ul class="">
  124.  <?php } ?>
  125.  <?php while ($food_menu_loop->have_posts()) : $food_menu_loop->the_post();
  126.  $pricetag = rwmb_meta('verona_price');
  127.  $currency = rwmb_meta('verona_currency');
  128.  // Full image for lightbox
  129.  $fullsize = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full');
  130.  $lightbox_img = $fullsize[0];
  131.  // Isotope slugs
  132.  $item_classes = '';
  133.  $item_cats = get_the_terms($post->ID, 'food_menu_categories');
  134.    if($item_cats) {
  135.     foreach($item_cats as $item_cat) {
  136.  $item_classes .= $item_cat->slug . ' ';
  137.    }
  138.  }
  139.  ?>
  140. <?php if(!has_post_thumbnail()) { ?>
  141.  <li class="item-cardapio<?php echo ' '.$item_classes; ?>">
  142. <?php } else { ?>
  143.  <li class="item-cardapio<?php echo ' '.$item_classes; ?>">
  144.  <?php if(ot_get_option('food_menus_lightbox') == 'enabled') { ?>
  145. <div class="bg-item-cardapio">
  146.  <a href="<?php echo $lightbox_img;?>">
  147. <div class="image-wrapper" style="background-image: url('<?php echo cardapio_thumbnail_url(); ?>'); background-size: cover; background-position: initial; height: 210px; max-height: 210px;"><!-- <a class="cbp-vm-image" href="<?php echo $lightbox_img;?>"><?php echo the_post_thumbnail('food_menu_item'); ?></a> --></div> 
  148. </div>
  149.  </a>
  150.  <?php } else { ?>
  151.  <?php echo the_post_thumbnail('food_menu_item'); ?>
  152.  <?php } ?><!-- End of image wrapper -->
  153. <?php } ?><!-- End of if has thumbnail -->                     
  154.  <h3 class="cbp-vm-title"><?php the_title(); ?></h3>
  155. <div class="cbp-vm-details">
  156.  <?php the_content(); ?><!-- The food item content -->
  157. </div>
  158.  <?php if(ot_get_option('food_item_prices') == 'enabled') { ?>
  159.  <?php if (is_array($pricetag)): ?>
  160.  <?php foreach($pricetag as $pt) { ?>
  161. <div class="price-box">                
  162.   <p class="food-size-title"><?php echo $pt[0]; ?></p>
  163.   <p class="food-price-title"><?php if($currency == '') { echo "$";} else {echo $currency;}?><?php echo $pt[1]; ?></p>
  164. </div>                         
  165.  <?php } else: ?>
  166. <div class="price-box">                
  167.   <p class="food-size-title">Preço</p>
  168.   <p class="food-price-title">$<?php echo $pricetag ?></p>
  169. </div> 
  170. <?php endif; ?>
  171. <?php } ?>
  172.  <a class="cbp-vm-icon cbp-vm-add" href="#">Add to cart</a>
  173.  </li><!-- End of food menu item -->
  174.  <?php $count++; endwhile; ?>
  175.  </ul>
  176. <!--  Ajax Load More Custom shortcode -->
  177.  <?php echo do_shortcode('[ajax_load_more post_type="post, food_menu" taxonomy="food_menu_categories" taxonomy_terms="massas-meu-rancho, pizzas-doces, pizzas-especiais, pizzas-meu-rancho, pizzas-tradicionais" order="ASC" orderby="menu_order" offset="1" posts_per_page="3" max_pages="none" button_label="Mais Itens"]');?>
  178.  </div><!-- End of food-block -->
  179.  <?php if(ot_get_option('food_filter') == 'enabled') { ?>
  180.  </div><!-- End of food-block -->
  181.  <?php } ?>
  182.  </div>        
  183. <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement