Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!

Доработать код вывода похожих записей на Wordpress

закрыт без выполнения


Необходимо доработать код вывода похожих записей по следующему алгоритму:

Есть категория сайта "Фото", где в свою очередь есть свои подкатегории
- Фото
-- Кактегория 1
-- Кактегория 2
-- Кактегория 3
-- Кактегория 4
-- Кактегория 5
-- Кактегория 6
-- Кактегория 7
-- Кактегория 8
.........
Каждая статья из раздела "Фото" отнесена одновременно в несколько подрубрик (рубрики Фото), то есть по сути подрубрики используются в качестве меток для постов категори Фото. Тот код который сейчас работает, просто выбирает записи, которые содержат хоть один общий тег или категорию. Поскольку записей много, выборка таким образом получается довольно не точная.

Нужно доработать код таким образом, чтоб похожие записи для текущего поста из рубрики Фото выводились по следующему алгоритму:

  1. Определяем к каким категориям и подкатегориям относится текущий пост.
  2. Задаем переменную которая будет определять количество необходимых похожих постов для вывода (чтоб я ее потом мог менять). К примеру пусть будет 9. 
  3. Делаем сразу первую узкую выборку по постам, которые одновременно включены во все теже рубрики и подрубрики что и текущий пост для которого создаются похожие записи. Если такие посты нашлись и их количество такоеже или больше необходимого (9), тогда выводим необходимое их количество и на этом скрипт вывода похожих записей заканчивается. Если записей меньше чем нужно, запоминаем найденные посты и делаем следующее.
  4. Расширяем выборку за счет удаления из условий поиска 1 подкатегории, которая имеет наименьшее количество записей (наименее популярна). Из результата этой (2-й) выборки исключаем посты полученные ранее из первой выборки. Если в итоге сумма полученных постов из перовй и второй выборки равна или больше необходимого количества, тогда выводим посты из первой выборки, а за ними сразу оставшееся необходимое количество из второй выборки. На этом скрипт заканчиваем. Если постов из первой и второй выборки в сумме опять меньше необходимого, то запоминаем полученные посты из второй выборки и делаем следующее.
  5. Повторяем 4 шаг до тех пор пока сумма выборок не получит необходимое количество записей (9).
  6. Важно запоминать полученные посты после каждой выборки и выводить эти посты первыми (чтоб на первом месте похожих записей выводились наиболее похожие записи, найденные по более точным запросам), а после них посты с более расширенными условиями поиска.


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


В этом блоке должны выводится следующие строки:

1 шаг: поиск по категориям: (вывести название категорий через запятую) . Найдено всего (указать количество найденных постов) похожих постов. // Если постов недостаточно описываем 2 шаг
2 шаг: удалена наименее популярная категория: (название). По новому запросу найдено всего (указать количество найденных постов) похожих постов. // Если постов недостаточно описывам 3 шаг
3 шаг: удалена наименее популярная категория: (название). По новому запросу найдено всего (указать количество найденных постов) похожих постов. // Если постов недостаточно описывам 4 шаг

Пример:
1 шаг: поиск по категориям: кактегория 1, категория 2, категория 3. Найдено всего 3 похожих постов. // Если постов недостаточно описывам 2 шаг
2 шаг: удалена наименее популярная категория "Категория 1". По новому запросу найдено всего 5 похожих постов. // Если постов недостаточно описываем 3 шаг
3 шаг: удалена наименее популярная категория "Категория 2". По новому запросу найдено всего 15 похожих постов. // Если постов недостаточно описываем 4 шаг


Порядок работы:
1. Я даю Вам доступ к файлу на сервере
2. Вы редактируете код

3. Я проверяю и рассчитываюсь


Для знающих и умеющих людей данное редактирование кода замет пол часа от силы. Поэтому просьба предлагать адекватные цены и сроки)
 



  1.  фрилансер больше не работает на сервисе
  2. 4 дня300 ₴
    Артем Бурак
     228 

    Здравствуйте, с удовольствием возьмусь за Ваше задание! Срок из-за выходных.

    Беларусь Минск | 18 января в 02:29 |
  1. 3 дня3000 ₽
    Алексей Иванов
     310 

    Добрый день!
    Выполню очень качественно вашу задачу. Обращайтесь.

    Россия Тамбов | 17 января в 12:01 |
  • Очень мило, когда "не знающие" и "не умеющие" рассказывают о том, сколько времени понадобится человеку, чтобы выполнить его задачи, с целью сбить цену. Просто, не писать же "денег нету, сделайте бесплатно")

  • Михаил Медов — заказчик проекта
    Пожаловаться | 17 января в 14:26 |

    Деньги есть как и и есть те кто любит по ушам проехаться таким не знающим как я))) Без обид. Во сколько вы оцениваете по времени и по деньгам эту работу? Написал все как можно подробней в ТЗ. Напишите пожалуйста свое мнение.

  • Я не сотрудничаю с таким типом заказчиков как вы. Такие как вы, в основном, приходят ко мне после работы тех, кто соглашается работать за 100 грн, с просьбами починить их сайт и почистить от вирусов после работы таких горе-программистов и уже не возмущаются по поводу цен и сроков)

  • Михаил Медов — заказчик проекта
    Пожаловаться | 17 января в 14:38 |

    ))) Вы абсолютно не знаете меня, ну я Вас) Не нужно складывать мнение по 1 ТЗ. Это рынок - вы хотите заработать больше и меньше потратив усилий, а я хочу чтоб мне сделали лучше за меньшие деньги. Что Вас возмущает?) Я Ведь никого не обманываю. Ведь не все такие честные как Вы. Поэтому предлагаю отбросить предрассудки в сторону и объективно оценить стоимость работы которую я описал в ТЗ. Я просто хочу чтоб мое задание было выполнено добросовестно и за адекватные деньги. С теорией тройственной ограниченности ознакомлен)

  • Стоимость данной разработки стоит минимум от 3 000 руб и от 3-х дней работы, но ни как до 500 руб, как Вы указали бюджет на kwork. А дальше все зависит от того, что "натворили" в коде предыдущие разработчики, а чаще всего натворено там гораздо много всего и стоимость может вырасти на порядки в разы. 

  • Действительно смешно, слышать от человека, что это не сложно и не займет много времени. Если Вы такой специалист, то сами и делайте!