Доработать код вывода похожих записей на Wordpress
Необходимо доработать код вывода похожих записей по следующему алгоритму:
Есть категория сайта "Фото", где в свою очередь есть свои подкатегории
- Фото
-- Кактегория 1
-- Кактегория 2
-- Кактегория 3
-- Кактегория 4
-- Кактегория 5
-- Кактегория 6
-- Кактегория 7
-- Кактегория 8
.........
Каждая статья из раздела "Фото" отнесена одновременно в несколько подрубрик (рубрики Фото), то есть по сути подрубрики используются в качестве меток для постов категори Фото. Тот код который сейчас работает, просто выбирает записи, которые содержат хоть один общий тег или категорию. Поскольку записей много, выборка таким образом получается довольно не точная.
Нужно доработать код таким образом, чтоб похожие записи для текущего поста из рубрики Фото выводились по следующему алгоритму:
- Определяем к каким категориям и подкатегориям относится текущий пост.
- Задаем переменную которая будет определять количество необходимых похожих постов для вывода (чтоб я ее потом мог менять). К примеру пусть будет 9.
- Делаем сразу первую узкую выборку по постам, которые одновременно включены во все теже рубрики и подрубрики что и текущий пост для которого создаются похожие записи. Если такие посты нашлись и их количество такоеже или больше необходимого (9), тогда выводим необходимое их количество и на этом скрипт вывода похожих записей заканчивается. Если записей меньше чем нужно, запоминаем найденные посты и делаем следующее.
- Расширяем выборку за счет удаления из условий поиска 1 подкатегории, которая имеет наименьшее количество записей (наименее популярна). Из результата этой (2-й) выборки исключаем посты полученные ранее из первой выборки. Если в итоге сумма полученных постов из перовй и второй выборки равна или больше необходимого количества, тогда выводим посты из первой выборки, а за ними сразу оставшееся необходимое количество из второй выборки. На этом скрипт заканчиваем. Если постов из первой и второй выборки в сумме опять меньше необходимого, то запоминаем полученные посты из второй выборки и делаем следующее.
- Повторяем 4 шаг до тех пор пока сумма выборок не получит необходимое количество записей (9).
- Важно запоминать полученные посты после каждой выборки и выводить эти посты первыми (чтоб на первом месте похожих записей выводились наиболее похожие записи, найденные по более точным запросам), а после них посты с более расширенными условиями поиска.
Перед непосредственным выводом постов сделать блок лога работы скрипта. По этому отчету я смогу оценить правильность работы кода. Этот блок должен показываются только авторизованному админу.
В этом блоке должны выводится следующие строки:
1 шаг: поиск по категориям: (вывести название категорий через запятую) . Найдено всего (указать количество найденных постов) похожих постов. // Если постов недостаточно описываем 2 шаг
2 шаг: удалена наименее популярная категория: (название). По новому запросу найдено всего (указать количество найденных постов) похожих постов. // Если постов недостаточно описывам 3 шаг
3 шаг: удалена наименее популярная категория: (название). По новому запросу найдено всего (указать количество найденных постов) похожих постов. // Если постов недостаточно описывам 4 шаг
Пример:
1 шаг: поиск по категориям: кактегория 1, категория 2, категория 3. Найдено всего 3 похожих постов. // Если постов недостаточно описывам 2 шаг
2 шаг: удалена наименее популярная категория "Категория 1". По новому запросу найдено всего 5 похожих постов. // Если постов недостаточно описываем 3 шаг
3 шаг: удалена наименее популярная категория "Категория 2". По новому запросу найдено всего 15 похожих постов. // Если постов недостаточно описываем 4 шаг
Порядок работы:
1. Я даю Вам доступ к файлу на сервере
2. Вы редактируете код
3. Я проверяю и рассчитываюсь
Для знающих и умеющих людей данное редактирование кода замет пол часа от силы. Поэтому просьба предлагать адекватные цены и сроки)
-
фрилансер більше не працює на сервісі
-
фрилансер більше не працює на сервісі
-
фрилансер більше не працює на сервісі
-
Очень мило, когда "не знающие" и "не умеющие" рассказывают о том, сколько времени понадобится человеку, чтобы выполнить его задачи, с целью сбить цену. Просто, не писать же "денег нету, сделайте бесплатно")
-
Деньги есть как и и есть те кто любит по ушам проехаться таким не знающим как я))) Без обид. Во сколько вы оцениваете по времени и по деньгам эту работу? Написал все как можно подробней в ТЗ. Напишите пожалуйста свое мнение.
-
Стоимость данной разработки стоит минимум от 3 000 руб и от 3-х дней работы, но ни как до 500 руб, как Вы указали бюджет на kwork. А дальше все зависит от того, что "натворили" в коде предыдущие разработчики, а чаще всего натворено там гораздо много всего и стоимость может вырасти на порядки в разы.