uawdijnntqw1x1x1
IP : 216.73.216.109
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
.
/
old
/
public_html
/
wp-content
/
themes
/
wpnull24
/
framework
/
templates
/
elements
/
.
/
grid.php
/
/
<?php defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' ); /** * Shortcode: us_grid * * Dev note: if you want to change some of the default values or acceptable attributes, overload the element config. * */ // If we are running US Grid loop already, return nothing global $us_grid_loop_running; if ( isset( $us_grid_loop_running ) AND $us_grid_loop_running ) { return; } $us_grid_loop_running = TRUE; $classes = ( ! empty( $el_class ) ) ? ( ' ' . $el_class ) : ''; if ( ! empty( $css ) AND function_exists( 'vc_shortcode_custom_css_class' ) ) { $classes .= ' ' . vc_shortcode_custom_css_class( $css ); } // Grid indexes for CSS, start from 1 global $us_grid_index; $us_grid_index = isset( $us_grid_index ) ? ( $us_grid_index + 1 ) : 1; // Get the page we are on for AJAX calls global $us_page_block_ids; if ( isset( $us_page_block_ids ) AND ! empty( $us_page_block_ids ) ) { $post_id = $us_page_block_ids[0]; } else { $post_id = get_the_ID(); } $current_post_id = get_the_ID(); // Grid indexes for ajax, start from 1 if ( $shortcode_base != 'us_carousel' ) { global $us_grid_ajax_indexes; $us_grid_ajax_indexes[ $post_id ] = isset( $us_grid_ajax_indexes[ $post_id ] ) ? ( $us_grid_ajax_indexes[ $post_id ] + 1 ) : 1; } else { $us_grid_ajax_indexes = NULL; } // Preparing the query $query_args = $terms = $filter_taxonomies = array(); $filter_taxonomy_name = $filter_default_taxonomies = ''; /* * THINGS TO OUTPUT */ // Singulars if ( in_array( $post_type, array_keys( us_grid_available_post_types( TRUE ) ) ) ) { $query_args['post_type'] = explode( ',', $post_type ); // Posts from selected taxonomies $known_post_type_taxonomies = us_grid_available_taxonomies(); if ( ! empty( $known_post_type_taxonomies[ $post_type ] ) ) { foreach ( $known_post_type_taxonomies[ $post_type ] as $taxonomy ) { if ( ! empty( ${'taxonomy_' . $taxonomy} ) ) { if ( ! isset( $query_args['tax_query'] ) ) { $query_args['tax_query'] = array(); } $query_args['tax_query'][] = array( 'taxonomy' => $taxonomy, 'field' => 'slug', 'terms' => explode( ',', ${'taxonomy_' . $taxonomy} ), ); } } } // Media attachments should have some differ arguments if ( $post_type == 'attachment' ) { if ( ! empty( $images ) ) { $ids = explode( ',', $images ); $query_args['post__in'] = $ids; } else { $attached_images = get_attached_media( 'image', $current_post_id ); if ( ! empty( $attached_images ) ) { foreach ( $attached_images as $attached_image ) { $query_args['post__in'][] = $attached_image->ID; } } } $query_args['post_status'] = 'inherit'; $query_args['post_mime_type'] = 'image'; } else { // Proper post statuses $query_args['post_status'] = array( 'publish' => 'publish' ); $query_args['post_status'] += (array) get_post_stati( array( 'public' => TRUE ) ); // Add private states if user is capable to view them if ( is_user_logged_in() AND current_user_can( 'read_private_posts' ) ) { $query_args['post_status'] += (array) get_post_stati( array( 'private' => TRUE ) ); } $query_args['post_status'] = array_values( $query_args['post_status'] ); } // Data for filter if ( ! empty( ${'filter_' . $post_type} ) ) { $filter_taxonomy_name = ${'filter_' . $post_type}; $terms_args = array( 'hierarchical' => FALSE, 'taxonomy' => $filter_taxonomy_name, 'number' => 100, ); if ( ! empty( ${'taxonomy_' . $filter_taxonomy_name} ) ) { $terms_args['slug'] = explode( ',', ${'taxonomy_' . $filter_taxonomy_name} ); if ( is_user_logged_in() ) { $terms_args['hide_empty'] = FALSE; } $filter_default_taxonomies = ${'taxonomy_' . $filter_taxonomy_name}; } $filter_taxonomies = get_terms( $terms_args ); if ( isset( $filter_show_all ) AND ! $filter_show_all AND ! empty( $filter_taxonomies[0] ) ) { $query_args['tax_query'] = array( array( 'taxonomy' => $filter_taxonomy_name, 'field' => 'slug', 'terms' => $filter_taxonomies[0], ), ); } } // Specific items by IDs } elseif ( $post_type == 'ids' AND ! empty( $ids ) ) { $ids = explode( ',', $ids ); $query_args['ignore_sticky_posts'] = 1; $query_args['post_type'] = 'any'; $query_args['post__in'] = $ids; // Items with the same taxonomy of current post } elseif ( $post_type == 'related' AND is_singular() AND ! empty( $related_taxonomy ) ) { $query_args['ignore_sticky_posts'] = 1; $query_args['post_type'] = get_post_type(); $query_args['tax_query'] = array( array( 'taxonomy' => $related_taxonomy, 'terms' => wp_get_object_terms( $current_post_id, $related_taxonomy, array( 'fields' => 'ids' ) ), ), ); // Product upsells (WooCommerce only) } elseif ( $post_type == 'product_upsells' AND is_singular() ) { $upsells_ids = get_post_meta( $current_post_id, '_upsell_ids', TRUE ); $query_args['post_type'] = 'product'; $query_args['post__in'] = (array) $upsells_ids; // Terms of selected (or current) taxonomy } elseif ( in_array( $post_type, array( 'taxonomy_terms', 'current_child_terms' ) ) ) { $current_term_id = $parent = 0; $hide_empty = TRUE; if ( strpos( $terms_include, 'children' ) !== FALSE ) { $parent = ''; } if ( strpos( $terms_include, 'empty' ) !== FALSE ) { $hide_empty = FALSE; } // If the current page is archive, we will output its children terms only if ( $post_type == 'current_child_terms' AND is_archive() ) { $current_term = get_queried_object(); $related_taxonomy = $current_term->taxonomy; if ( strpos( $terms_include, 'children' ) !== FALSE ) { $current_term_id = $current_term->term_id; } else { $parent = $current_term->term_id; } } $terms = get_terms( array( 'taxonomy' => $related_taxonomy, 'orderby' => $terms_orderby, 'order' => ( $terms_orderby == 'count' ) ? 'DESC' : 'ASC', 'number' => $items_quantity, 'hide_empty' => $hide_empty, 'child_of' => $current_term_id, 'parent' => $parent, ) ); // When taxonomy doesn't exist, it returns WP_Error object, so we need to use empty array for further work if ( is_wp_error( $terms ) ) { $terms = array(); } // Imitate random ordering for terms if ( $terms_orderby == 'rand' ) { shuffle( $terms ); } // Generate query for "Gallery" and "Post Object" types from ACF PRO plugin } elseif ( strpos( $post_type, 'acf_' ) !== FALSE AND is_singular() ) { // ACF Galleries if ( strpos( $post_type, 'acf_gallery_' ) !== FALSE ) { $key = str_replace( 'acf_gallery_', '', $post_type ); $query_args['post_type'] = 'attachment'; $query_args['post_status'] = 'inherit'; $query_args['post__in'] = get_post_meta( $current_post_id, $key, TRUE ); } // ACF Post objects if ( strpos( $post_type, 'acf_posts_' ) !== FALSE ) { $key = str_replace( 'acf_posts_', '', $post_type ); $ids = get_post_meta( $current_post_id, $key, TRUE ); $query_args['post_type'] = 'any'; $query_args['ignore_sticky_posts'] = 1; $query_args['post__in'] = is_array( $ids ) ? $ids : array( $ids ); } } // Always exclude the current post from the query if ( is_singular() ) { $query_args['post__not_in'] = array( $current_post_id ); } // Exclude sticky posts if ( ! empty( $ignore_sticky ) ) { $query_args['ignore_sticky_posts'] = 1; } // Set ordering arguments switch ( $orderby ) { case 'date': $query_args['orderby'] = array( 'date' => 'DESC' ); break; case 'date_asc': $query_args['orderby'] = array( 'date' => 'ASC' ); break; case 'modified': $query_args['orderby'] = array( 'modified' => 'DESC' ); break; case 'modified_asc': $query_args['orderby'] = array( 'modified' => 'ASC' ); break; case 'alpha': $query_args['orderby'] = array( 'title' => 'ASC' ); break; case 'menu_order': $query_args['orderby'] = array( 'menu_order' => 'ASC' ); break; case 'rand': $query_args['orderby'] = 'RAND(' . rand() . ')'; break; case 'price_desc': $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = '_price'; $query_args['order'] = 'DESC'; break; case 'price_asc': $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = '_price'; $query_args['order'] = 'ASC'; break; case 'popularity': $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = 'total_sales'; $query_args['order'] = 'DESC'; break; case 'rating': $query_args['orderby'] = 'meta_value_num'; $query_args['meta_key'] = '_wc_average_rating'; $query_args['order'] = 'DESC'; break; default: $query_args['orderby'] = $orderby; } // Pagination if ( $pagination == 'regular' ) { $request_paged = is_front_page() ? 'page' : 'paged'; if ( get_query_var( $request_paged ) ) { $query_args['paged'] = get_query_var( $request_paged ); } } // Extra arguments for WooCommerce products if ( class_exists( 'woocommerce' ) AND in_array( $post_type, array( 'product', 'product_upsells' ) ) ) { $query_args['meta_query'] = array(); // Exclude out of stock products if ( $exclude_items == 'out_of_stock' ) { $query_args['meta_query'][] = array( 'key' => '_stock_status', 'value' => 'outofstock', 'compare' => '!=', ); } // Show Sale products if ( strpos( $products_include, 'sale' ) !== FALSE ) { $query_args['meta_query'][] = array( 'key' => '_sale_price', 'value' => '', 'compare' => '!=', ); } // Show Featured products if ( strpos( $products_include, 'featured' ) !== FALSE ) { $tax_query_featured = array( 'taxonomy' => 'product_visibility', 'field' => 'name', 'terms' => 'featured', 'operator' => 'IN', ); $query_args['tax_query'][] = $tax_query_featured; } } // Exclude posts of previous grids on the same page if ( $exclude_items == 'prev' ) { global $us_grid_skip_ids; if ( ! empty( $us_grid_skip_ids ) AND is_array( $us_grid_skip_ids ) ) { if ( empty( $query_args['post__not_in'] ) OR ! is_array( $query_args['post__not_in'] ) ) { $query_args['post__not_in'] = array(); } $query_args['post__not_in'] = array_merge( $query_args['post__not_in'], $us_grid_skip_ids ); } } // Items per page if ( $items_quantity < 1 ) { $items_quantity = 999; } $query_args['posts_per_page'] = $items_quantity; // Reset query for using on archives if ( $post_type == 'current_query' ) { if ( is_tax( 'tribe_events_cat' ) OR is_post_type_archive( 'tribe_events' ) ) { $the_content = apply_filters( 'the_content', get_the_content() ); // The page may be paginated itself via <!--nextpage--> tags $the_pagination = wp_link_pages( array( 'before' => '<nav class="post-pagination"><span class="title">' . us_translate( 'Pages:' ) . '</span>', 'after' => '</nav>', 'link_before' => '<span>', 'link_after' => '</span>', 'echo' => 0, ) ); echo $the_content . $the_pagination; return; } elseif ( is_archive() OR is_search() OR is_home() ) { $query_args = NULL; } else { return; } } // Load Grid Listing template with given params $template_vars = array( 'query_args' => $query_args, 'terms' => $terms, 'us_grid_index' => $us_grid_index, 'us_grid_ajax_indexes' => $us_grid_ajax_indexes, 'classes' => $classes, 'post_id' => $post_id, 'filter_taxonomy_name' => $filter_taxonomy_name, 'filter_default_taxonomies' => $filter_default_taxonomies, 'filter_taxonomies' => $filter_taxonomies, ); // Add default values for unset variables from Grid config $default_grid_params = us_shortcode_atts( array(), 'us_grid' ); foreach ( $default_grid_params as $param => $value ) { $template_vars[ $param ] = isset( $$param ) ? $$param : $value; } // Add default values for unset variables from Carousel config if ( $shortcode_base == 'us_carousel' ) { $default_carousel_params = us_shortcode_atts( array(), 'us_carousel' ); foreach ( $default_carousel_params as $param => $value ) { $template_vars[ $param ] = isset( $$param ) ? $$param : $value; } $template_vars['type'] = 'carousel'; // force 'carousel' type for us_carousel shortcode } us_load_template( 'templates/us_grid/listing', $template_vars ); $us_grid_loop_running = FALSE;
/home/batcwwjx/./old/public_html/wp-content/themes/wpnull24/framework/templates/elements/./grid.php