[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Код для Wordpress
Leo Kolt
Кто сможет вставить в этот код
add_filter('relevanssi_hits_filter', 'reviews_first');
function reviews_first($hits) {
$reviews = array();
$everything_else = array();
foreach ($hits[0] as $hit) {
$review = false;
foreach (get_the_category($hit->ID) as $cat) {
if ($cat->cat_ID == 3) {
$review = true;
break;
}
}

$review ? array_push($reviews, $hit) : array_push($everything_else, $hit);
}

$hits[0] = array_merge($reviews, $everything_else);
return $hits;
}

eще один cat_ID, например, cat_ID = = 5, так чтобы не было дубляжа контента. Дело в том, что данная функция позволяет выводить результаты поиска по сайту Wordpress сортированными по категориями. Но в данном виде сортировка идет только по одной категории, после чего идут остальные посты. Как я не пытался вставить еще один аргумент с cat_ID = = 5, все равно все посты в результатах выдачи дублируются по два раза. Помогите готовым кодом.
Чтобы результаты поиска выглядели красиво в шаблоне я еще вставил вот такую функцию. Сюда тоже нужно как-то воткнуть новую категорию. Спасибо!
$reviews = false;
if (have_posts()) : while (have_posts()) : the_post();
foreach (get_the_category($post->ID) as $cat) {
if (($post->post_type == 'page' || $cat->cat_ID != 3) && $reviews) {
echo "<h3>Все остальное</h3>";
$reviews = false;
break;
}
if ($cat->cat_ID == 3 && !$reviews) {
echo "<h3>Обзоры</h3>";
$reviews = true;
break;
}
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.