Guest User

wp-travel-customize

a guest
Apr 26th, 2019
127
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /**
  3.  * Package section
  4.  *
  5.  * This is the template for the content of package section
  6.  *
  7.  * @package Theme Palace
  8.  * @subpackage Pleased Pro
  9.  * @since Pleased Pro 1.0.0
  10.  */
  11. if ( ! function_exists( 'pleased_pro_add_package_section' ) ) :
  12.     /**
  13.     * Add package section
  14.     *
  15.     *@since Pleased Pro 1.0.0
  16.     */
  17.     function pleased_pro_add_package_section() {
  18.         $options = pleased_pro_get_theme_options();
  19.         // Check if package is enabled on frontpage
  20.         $package_enable = apply_filters( 'pleased_pro_section_status', true, 'package_section_enable' );
  21.  
  22.         if ( true !== $package_enable ) {
  23.             return false;
  24.         }
  25.         // Get package section details
  26.         $section_details = array();
  27.         $section_details = apply_filters( 'pleased_pro_filter_package_section_details', $section_details );
  28.  
  29.         if ( empty( $section_details ) ) {
  30.             return;
  31.         }
  32.  
  33.         // Render package section now.
  34.         pleased_pro_render_package_section( $section_details );
  35.     }
  36. endif;
  37.  
  38. if ( ! function_exists( 'pleased_pro_get_package_section_details' ) ) :
  39.     /**
  40.     * package section details.
  41.     *
  42.     * @since Pleased Pro 1.0.0
  43.     * @param array $input package section details.
  44.     */
  45.     function pleased_pro_get_package_section_details( $input ) {
  46.         $options = pleased_pro_get_theme_options();
  47.  
  48.         // Content type.
  49.         $package_content_type  = $options['package_content_type'];
  50.        
  51.         $content = array();
  52.         switch ( $package_content_type ) {
  53.            
  54.             case 'category':
  55.                 $cat_id = ! empty( $options['package_content_category'] ) ? $options['package_content_category'] : '';
  56.                 $args = array(
  57.                     'post_type'         => 'post',
  58.                     'posts_per_page'    => 4,
  59.                     'cat'               => $cat_id,
  60.                     'ignore_sticky_posts'   => true,
  61.                     );    
  62.             break;
  63.  
  64.             case 'page':
  65.                 $page_ids = array();
  66.  
  67.                 for ( $i = 1; $i <= 4; $i++ ) {
  68.                     if ( ! empty( $options['package_content_page_' . $i] ) )
  69.                         $page_ids[] = $options['package_content_page_' . $i];
  70.                 }
  71.                
  72.                 $args = array(
  73.                     'post_type'         => 'page',
  74.                     'post__in'          => ( array ) $page_ids,
  75.                     'posts_per_page'    => 4,
  76.                     'orderby'           => 'post__in',
  77.                     );                    
  78.             break;
  79.  
  80.             case 'post':
  81.                 $post_ids = array();
  82.  
  83.                 for ( $i = 1; $i <= 4; $i++ ) {
  84.                     if ( ! empty( $options['package_content_post_' . $i] ) )
  85.                         $post_ids[] = $options['package_content_post_' . $i];
  86.                 }
  87.                
  88.                 $args = array(
  89.                     'post_type'         => 'post',
  90.                     'post__in'          => ( array ) $post_ids,
  91.                     'posts_per_page'    => 4,
  92.                     'orderby'           => 'post__in',
  93.                     'ignore_sticky_posts'   => true,
  94.                     );                    
  95.             break;
  96.  
  97.             case 'trip':
  98.                 $page_ids = array();
  99.  
  100.                 for ( $i = 1; $i <= 4; $i++ ) {
  101.                     if ( ! empty( $options['package_content_trip_' . $i] ) )
  102.                         $page_ids[] = $options['package_content_trip_' . $i];
  103.                 }
  104.                
  105.                 $args = array(
  106.                     'post_type'         => 'itineraries',
  107.                     'post__in'          => ( array ) $page_ids,
  108.                     'posts_per_page'    => 4,
  109.                     'orderby'           => 'post__in',
  110.                     );                    
  111.             break;
  112.  
  113.             case 'trip-types':
  114.                 $cat_id = ! empty( $options['package_content_trip_types'] ) ? $options['package_content_trip_types'] : '';
  115.                 $args = array(
  116.                     'post_type'      => 'itineraries',
  117.                     'tax_query' => array(
  118.                         array(
  119.                             'taxonomy' => 'itinerary_types',
  120.                             'field'    => 'id',
  121.                             'terms'    => $cat_id,
  122.                         ),
  123.                     ),
  124.                     'posts_per_page'  => 4,
  125.                     );                    
  126.             break;
  127.  
  128.             case 'destination':
  129.                 $cat_id = ! empty( $options['package_content_destination'] ) ? $options['package_content_destination'] : '';
  130.                 $args = array(
  131.                     'post_type'      => 'itineraries',
  132.                     'tax_query' => array(
  133.                         array(
  134.                             'taxonomy' => 'travel_locations',
  135.                             'field'    => 'id',
  136.                             'terms'    => $cat_id,
  137.                         ),
  138.                     ),
  139.                     'posts_per_page'  => 4,
  140.                     );                    
  141.             break;
  142.  
  143.             case 'activity':
  144.                 $cat_id = ! empty( $options['package_content_activity'] ) ? $options['package_content_activity'] : '';
  145.                 $args = array(
  146.                     'post_type'      => 'itineraries',
  147.                     'tax_query' => array(
  148.                         array(
  149.                             'taxonomy' => 'activity',
  150.                             'field'    => 'id',
  151.                             'terms'    => $cat_id,
  152.                         ),
  153.                     ),
  154.                     'posts_per_page'  => 4,
  155.                     );                    
  156.             break;
  157.  
  158.             default:
  159.             break;
  160.         }
  161.  
  162.  
  163.             // Run The Loop.
  164.             $query = new WP_Query( $args );
  165.             if ( $query->have_posts() ) :
  166.                 while ( $query->have_posts() ) : $query->the_post();
  167.                     $page_post['id']        = get_the_id();
  168.                     $page_post['title']     = get_the_title();
  169.                     $page_post['url']       = get_the_permalink();
  170.                     $page_post['image']     = has_post_thumbnail() ? get_the_post_thumbnail_url( get_the_id(), 'large' ) : get_template_directory_uri() . '/assets/uploads/no-featured-image-590x650.jpg';
  171.  
  172.                     // Push to the main array.
  173.                     array_push( $content, $page_post );
  174.                 endwhile;
  175.             endif;
  176.             wp_reset_postdata();
  177.  
  178.            
  179.         if ( ! empty( $content ) ) {
  180.             $input = $content;
  181.         }
  182.         return $input;
  183.     }
  184. endif;
  185. // package section content details.
  186. add_filter( 'pleased_pro_filter_package_section_details', 'pleased_pro_get_package_section_details' );
  187.  
  188.  
  189. if ( ! function_exists( 'pleased_pro_render_package_section' ) ) :
  190.   /**
  191.    * Start package section
  192.    *
  193.    * @return string package content
  194.    * @since Pleased Pro 1.0.0
  195.    *
  196.    */
  197.    function pleased_pro_render_package_section( $content_details = array() ) {
  198.         $options = pleased_pro_get_theme_options();
  199.         $package_content_type  = $options['package_content_type'];
  200.  
  201.         if ( empty( $content_details ) ) {
  202.             return;
  203.         } ?>
  204.  
  205.         <div id="luxury-room" class="page-section">
  206.                 <div class="wrapper">
  207.                     <div class="section-header align-center">
  208.                         <?php if ( ! empty( $options['package_sub_title'] ) ) : ?>
  209.                             <span class="section-subtitle"><?php echo esc_html( $options['package_sub_title'] ); ?></span>
  210.                         <?php endif;
  211.  
  212.                         if ( ! empty( $options['package_title'] ) ) : ?>
  213.                             <h2 class="section-title"><?php echo esc_html( $options['package_title'] ) ?></h2>
  214.                         <?php endif; ?>
  215.                     </div><!-- .section-header -->
  216.  
  217.                     <div class="section-content">
  218.                         <div class="grid">
  219.  
  220.                             <?php foreach ( $content_details as $content ) : ?>
  221.                                 <div class="grid-item">
  222.                                     <article class="has-featured-image" style="background-image: url('<?php echo esc_url( $content['image'] ); ?>');">
  223.                                         <div class="entry-container">
  224.                                             <header class="entry-header">
  225.                                                 <h2 class="entry-title"><a href="<?php echo esc_url( $content['url'] ); ?>"><?php echo esc_html( $content['title'] ); ?></a></h2>
  226.                                             </header>
  227.  
  228.                                             <?php if ( ! in_array( $package_content_type, array( 'page', 'post', 'category' ) ) ) :
  229.                                                 $enable_sale     = get_post_meta( $content['id'], 'wp_travel_enable_sale', true );
  230.                                                 $trip_price      = wp_travel_get_trip_price( $content['id'] );
  231.                                                 $sale_price      = wp_travel_get_trip_sale_price( $content['id'] );
  232.                                                 $trip_per        = wp_travel_get_price_per_text( $content['id'] );
  233.                                                 $settings        = wp_travel_get_settings();
  234.                                                 $currency_code   = ( isset( $settings['currency'] ) ) ? $settings['currency'] : '';
  235.                                                 $currency_symbol = wp_travel_get_currency_symbol( $currency_code );
  236.                                             ?>
  237.                                                 <div class="trip-entry-meta">
  238.                                                    <div class="price-meta">
  239.                                                         <span class="trip-price">                      
  240.                                                             <?php
  241.                                                             echo esc_html( $currency_symbol );
  242.                                                             echo ( true == $enable_sale && $sale_price ) ? esc_html( $sale_price ) : esc_html( $trip_price );
  243.                                                             ?>
  244.                                                         </span><!-- .trip-price -->
  245.                                                         <span><?php printf( esc_html__( '/ %s', 'pleased-pro' ), $trip_per ); ?></span><!-- .trip-price -->
  246.                                                     </div>
  247.                                                 </div><!-- .entry-meta -->
  248.                                             <?php endif; ?>
  249.                                         </div><!-- .entry-container -->  
  250.                                     </article>  
  251.                                 </div><!-- .grid-item -->
  252.                             <?php endforeach; ?>
  253.  
  254.                         </div><!-- .grid -->
  255.                         <?php if ( ! empty( $options['package_btn_title'] ) && ! empty( $options['package_btn_url'] ) ) : ?>
  256.                             <a href="<?php echo esc_url( $options['package_btn_url'] ); ?>" class="btn btn-primary"><?php echo esc_html( $options['package_btn_title'] ); ?></a>
  257.                         <?php endif; ?>
  258.                     </div><!-- .section-content -->
  259.                 </div><!-- .wrapper -->
  260.             </div><!-- #luxury-room -->
  261.        
  262.     <?php }
  263. endif;
RAW Paste Data