function lab_wc_get_paged_products() { global $woocommerce_loop; $resp = array('content' => ''); // Query Meta Vars $page = post('page'); $opts = post('opts'); $pp = post('pp'); $q = isset($opts['q']) ? $opts['q'] : ''; // Unserialize Query Details (if has) if ($q) { $q = unserialize(rot13decrypt($q)); } $meta_query = WC()->query->get_meta_query(); $atts = array('columns' => '4', 'orderby' => 'title', 'order' => 'asc', 'ids' => '', 'skus' => ''); $query_args = array('post_type' => 'product', 'post_status' => 'publish', 'paged' => $page, 'posts_per_page' => $pp, 'ignore_sticky_posts' => 1, 'orderby' => $atts['orderby'], 'order' => $atts['order'], 'meta_query' => $meta_query); if ($q) { $query_args = array_merge($q, $query_args); } // Collect posts ob_start(); // Init query $products = new WP_Query(apply_filters('woocommerce_shortcode_products_query', $query_args, $atts)); if ($products->have_posts()) { while ($products->have_posts()) { $products->the_post(); wc_get_template_part('content', 'product'); } } wp_reset_postdata(); $content = ob_get_clean(); // Set up content $resp['content'] = $content; $resp['qq'] = $query_args; $resp['mq'] = $meta_query; echo json_encode($resp); die; }
function laborator_get_paged_blog_posts() { $resp = array('content' => ''); // Query Meta Vars $page = post('page'); $opts = post('opts'); $pp = post('pp'); $q = isset($opts['q']) ? $opts['q'] : ''; // Unserialize Query Details (if has) if ($q) { $q = unserialize(rot13decrypt($q)); } $query_args = array('posts_per_page' => $pp, 'paged' => $page, 'post_status' => 'publish'); if ($q) { $query_args = array_merge($q, $query_args); } // Init query $query = new WP_Query($query_args); // Import blog options include_once THEMEDIR . 'tpls/blog-query.php'; // Disable lazy loading for AJAX request if ($blog_template == 'blog-masonry') { //$blog_post_list_lazy_load = false; } // Custom Excerpt length for items if ($sidebar_position != 'hide') { add_filter('excerpt_length', 'laborator_short_excerpt_length'); } switch ($blog_columns) { case '_3': add_filter('excerpt_length', 'laborator_short_excerpt_length'); break; case '_4': add_filter('excerpt_length', 'laborator_supershort_excerpt_length'); break; } // Collect posts ob_start(); while ($query->have_posts()) { $query->the_post(); switch ($opts['useFormat']) { case 2: get_template_part('tpls/post-format-2'); break; default: get_template_part('tpls/post-format-1'); } } $content = ob_get_clean(); // Set up content $resp['content'] = $content; echo json_encode($resp); die; }
function lab_rot13_tourl_decrypt($data) { return unserialize(rot13decrypt($data)); }