Пробовать нет желания.. по идее должно все работать, что не так не вижу.
Попробуйте еще перед вызовом query_posts() сбросить wp_reset_query()
Да, как заметили луче делать это через класс WP_Query()---------- Добавлено 07.04.2015 в 13:25 ----------При объединении массивов query_posts(array_merge($args, $wp_query->query)); 'order' берется из $wp_query->query
query_posts($args); массивы объединять не надо в $args данных достаточно.
$arg = array( 'post_type' => 'post', 'posts_per_page' => -1, 'meta_key' => 'price', 'orderby' => 'meta_value_num', 'order' => 'ASC', // DESC 'cat' => 65 ); if ($_GET && !empty($_GET)) { // если было передано что-то из формы go_filter($arg); // запускаем функцию фильтрации } /* FILTER */ function go_filter(&$arg){ $args['meta_query']['relation'] = 'AND'; global $wp_query; if($_GET['price_min'] != '' || $_GET['price_max'] != '') { if ($_GET['price_min'] == '') $_GET['price_min'] = 0; if ($_GET['price_max'] == '') $_GET['price_max'] = 9999999; $args['meta_query'][] = array( 'key' => 'price', 'value' => array( (int)$_GET['price_min'], (int)$_GET['price_max'] ), 'type' => 'numeric', 'compare' => 'BETWEEN' ); } if (($_GET['tax_vehicle_type']) != '') { $args['meta_query'][] = array( 'key' => 'class_auto', 'value' => $_GET['tax_vehicle_type'], 'compare' => '=' ); } if (($_GET['tax_vehicle_status']) != '') { $args['meta_query'][] = array( 'key' => 'kpp', 'value' => $_GET['tax_vehicle_status'], 'compare' => '=' ); } if (($_GET['sort_type']) != '') { $args['meta_query'][] = array( 'meta_key' => 'price', 'orderby' => 'meta_value_num', 'order' => $_GET['sort_type'] ); } query_posts(array_merge($args, $wp_query->query)); }
Передать в функцию do_filter $arg ссылкой, не проверял но мож поможет..
order = ASC выводит по возрастанию а order = DESC по убыванию.
А сортировка по цене сейчас работает?
Соррии.. синтаксис :)
$args['meta_query']['relation'] = 'AND';
не => а =
И сделайте так error_reporting(E_ALL);
Так попробуйте.
//$args['meta_query'] = array('relation' => 'AND'); // надо $args['meta_query'] = array(); $args['meta_query']['relation'] => 'AND'; // и далее как есть.. // $args['meta_query'][] = array(...
Dram, глупо было бы если бы блокеры пропускали контент загруженный ajax-ом.
Если стоит блокер, то ставьте свои баннеры на место кода партнерок. По другому никак.
malls, пробел между ! и / уберите и все будет работать.
RewriteCond %{REQUEST_URI} !/page*
Ms-Dred, да попутал :)
if (v.length == 190)
Dram, ajax предназначен для отправки данных на сервер, он сам по себе не предназначен для детекта блокеров :)
Бесполезно все... Кто не смотрел, тот и не будет смотреть. Ничего не добьешься.
А по делу: после onload получаем контейнер с рекламой и и простым измерением длины можно детектить блокера. ---------- Добавлено 06.04.2015 в 00:58 ----------
Он вам одну строчку написал :)
<doctype html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> </head> <body> <div class="banner"> <script type="text/javascript"><!-- google_ad_client = "ca-pub-xxx521xxxx758xxx"; /* adsens */ google_ad_slot = "xx728146xx"; google_ad_width = 970; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <a onclick="detect1()">detect1</a> <a onclick="detect2()">detect2</a> <script type="text/javascript"> function detect1() { var v = $('.banner').html(); // код в блоке <div class=banner> не должен быть больше 190 if (v.length != 190) alert("anti reklama detect"); } function detect2() { var v = $('.banner').height(); // блок должен быть не меньше 90h if (v != 90) alert("anti reklama detect"); } </script> </body> </html>
Некоторые статьи луче оставлять в оригинале и не портить говнорерайтом.
100500+ сайтов в рунете работает на чистом копипасте и живут годами и трафик не плохой получают.