xtonyx

Проблема с Paged на Single при своём ЧПУ

Господа, всем доброго времени суток.

Столкнулся с такой проблемой. Делаю что-то типа католога на WP.
Мне приходится на странице Single какого-то товара, выводить так же все товары скажем этой же организации.

Таким образом, у меня есть страница Single, у меня отображается информация записи – «товар» , заканчивается стандартный loop.
И на начинаю новый loop c нужным мне условием. Причём во втором (дополнительном лупе), я ставлю параметр paged, т.е. я хочу, чтобы мне показывалось определённое количество доп. товаров на страницу.

Это всё у меня работает и странички перелистываются с видом ссылок по умолчанию … http://mysite.ru/?p=115 где ссылка на скажем вторую страницу выглядит так.
http://mysite.ru/?p=115&paged=2 .

Но сегодня, незадолго до сдачи проекта заказчику, столкнулся с проблемой, я перевёл сайт на постоянные ссылки типа «Произвольная структура» – http://mysite.ru/%postname%/

Находясь на той-же странице(single) товара http://mysite.ru/lambo6/ , ссылка на вторую страницу дополнительного цикла есть, и указывает на http://mysite.ru/lambo6/page/2/ .
Но при нажатии на неё я не перехожу на вторую страницу, а бруезер (или web server) меня оставляет на http://izitalii.ru/lambo6/ .
Т.Е. при переходе на http://mysite.ru/lambo6/page/2/ я остаюсь на прежней странице http://izitalii.ru/lambo6/.

Как я уже сказал, этот переход нормально работал, когда я использовал на сайте тип ссылок по умолчанию http://mysite.ru/?p=115, тогда я спокойно переходил на вторую страницу по адресу http://izitalii.ru/?p=115&paged=2.

Помомите пожалуйста, как заставить работать постраничную навигацию на странице single для дополнительного loop для произвольного формата ссылок типа Произвольная структура http://mysite.ru/%postname%/ . Или хотя бы подскажите в чём может быть проблема.

Заранее всем спасибо за внимание… !

SQL запрос совместно с new WP_Query РЕШЕНО!

Наконец нашёл решение для постраничной навигации по постам, полученных путём анализа даты в Custom Fields.

Для постраничной навигации подразумевается использование WP_Query и стандартного Loop.
А для того чтобы собрать необходимые посты необходим свой самописный SQL запрос.

Это решение для проблемы. http://forum.maxsite.org/viewtopic.php?id=9871

Никак не мог понять как можно это совместить, в интернете эта проблема обсуждалась крайне мало. Везде после SQL запроса использовали цикл Foreach, в котором навигация не получалась.

Итак, Код… Выделенные курсивом участки являются строкой, передаваемой в MySQL. По ней, субд вернёт нужные посты и в правильном порядке.
Чтобы это заработало нужно перед созданием запроса new WP_Query($args); вызывать функцию add_filter.

function filter_where($where = ”) {
$where .= "AND STR_TO_DATE(meta_value,’%d.%m.%Y’) >= CURDATE()";
return $where;
}

function date_order($orderby = ”) {
$order .= "STR_TO_DATE(meta_value,’%d.%m.%Y’) ASC";
return $order;
}

add_filter(‘posts_where’, ‘filter_where’);
add_filter(‘posts_orderby’, ‘date_order’ );

$args = array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘showposts’ => 6,
);
$my_query = new WP_Query($args);

Пересечение нескольких new WP_Query

Это продолжение истории с получением постов по дате в custom_fields
http://forum.maxsite.org/viewtopic.php?id=9871

Предыстория После долгих танцов с бубном, пришлось отказаться от "ручного- Sql Запроса" , так как для постраничной навигации мне придётся использоваться использовать query_posts, который в свою очередь выводит переданные id постов в неправильном порядке.

На данный момоент в custom fields у меня дата лежт в формате yyyy.mm.yy , что позволяет мне применять сортировку и получение необходимых дата через quary_post

Проблема Мне нужно вывести записи , у которых дата в custom fields меньше чегото и больше чего-то другого

т.е. в идеале хочу выполнить такой код.

$children_query = new WP_Query(array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘meta_compare’ => ‘>=’,
‘meta_value’ => ‘2010.03.10’,
‘meta_compare’ => ‘<=’,
‘meta_value’ => ‘2010.04.10’,
));

Ясень пень что такая конструкция не работает.

Вываливает слишком много.
В тоже время, по отдельности

$the_query1 = new WP_Query(array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
‘meta_compare’ => ‘>=’,
‘meta_value’ => ‘2011.01.01’,

‘showposts’ => -1,
));

$the_query2 = new WP_Query(array(
‘category__and’ => array($child_cat_id,$child_cat_id),
‘meta_key’ => $meta_field_name,
meta_compare’ => ‘<=’,
‘meta_value’ => ‘2011.02.10’,

‘showposts’ => -1,
));

всё работает предсказуемо.

Подскажите есть ли способ пересечь $the_query1 и $the_query2 в $main_query , в которой бы находились только общие посты

query_posts определённых ID

Бьюсь над задачей постраничного вывода записей по определённой дате в custom fields.

Основную задачу решил
http://forum.maxsite.org/viewtopic.php?id=9871

Итак, теперь у меня есть массив ID записей, которые мне нужно выводить.
Надо сказать, что данный массив ID я получал с помощью функции setup_postdata() в цикле foreach. В нём же я мог и выводить информацию каждой конкретной записи. Но выводя информацию в цикле foreach, у меня нет возможности использовать постраничную навигацию по записям.

Для постраничной навигации мне нужен loop типа.

query_posts()
if (have_posts()) : while (have_posts()) : the_post();
….
endwhile;
endif;

Этот цикл можно использовать для постраничной навигации.

Но я столкнулся с неожиданной проблемой.
Имея массив ID записей, которые мне надо показывать, я никак не могу понять как можно сформировать query_posts(). Чтобы в нём были записи, с нужными ID и в том же порядке, в котором эти ID находятся в массиве.

В дополнении хочу сказать, что данные записи лежат у меня в разных категориях.

Если у вас есть альтернативные способы постраничного отображения записей, пожалуйста поделитесь :).

Сортировать по дате в Custom Fields

Всем доброго времени суток. У меня такая проблема…
Буду благодарен, если поможете решить.

Честно говоря я удивлён, что данная проблема ещё не обсуждалась, искал googl ом на данном форуме, прошерстил все 29 страниц plagin ов на wordpress.org
Нигде ничего похожего.

Дано:
Есть записи, в которых содержится информация о некотором событии (выставке).

У каждой такой записи есть поля ( Custom Fields ) – Дата начала, и Дата конца. Эти «даты» имеют формат 04.11.2010 (дд.мм.гггг).

Задача:
Выводить эти записи в порядке значения поля «Дата начала».

Проблема:
Как многие из вас знают, WP хранит значения полей Custom Fields в строковом формате. Посему правильно работающей сортировки по дате из строки не получится. На сколько я знаю, стандартные методы сортировки в WP основаны на сортировке по строковым переменным. Поэтому ни один из предложенных на http://www.sonika.ru/blog/wordpress/custom-fields-wordpress.htm приёмов не проходят. Присматривался к «Пример 11», «Пример 12», «Пример 14». Но ни один, как мне кажется, мне не подходит.
Для начала я решил попытаться перевести строковое значение даты в формат даты, это у меня успешно получилось. Делал я это в цикле вывода поста, использовал:

$date_start_str = get_post_meta($post->ID, "Выставка дата начала", true);
if (!empty($date_start_str))
{print_r(date_parse_from_format("d-m-Y", $date_start_str));}

Мне кажется, дальше можно копать, но я никак не могу понять – где же производить сортировку, и как потом выводить Отсортированные записи по одной.

Заранее благодарен за помошь.

Pager когда на странице несколько WP_Query

Ну проблема такая, есть опыт создания сайтов на WP, и как я понял плагины и стандартные функции постраничной навигации типа

<?php next_posts_link(__(‘&laquo; Older Entries’, ‘kubrick’)) ?> и
<?php previous_posts_link(__(‘Newer Entries &raquo;’, ‘kubrick’)) ?>

Работают с одним конкретным (единственным) объектом типа WP_Query.

Мне нужна постраничная навигация на странице, но на странице у меня прокручиваются несколько WP_Query и не все из них выводят посты, некоторые WP_Query нужны чтобы в Loopе собрать информацию для дальнейших WP_Query.

Кароче у меня на странице в Loop создаются новые WP_Query и выводится информация. После Loop создаётся ещё WP_Query и выводится ещё кое что.

И в этом бардаке нужно сделать постраничую навигацию.

Находил много интересных решений на этом форуме, надеюсь найдётся решение и для этого случая.
Заранее всем спасибо!

Anonymous
Отправить
Ответ на: