Публикация в группе: Кастомизация WP-Recall и Wordpress

Добавлено в закладки: 0

Из-за большого обилия рубрик у меня появилась идея сделать возможность добавлять их в "Избранное" для быстрого доступа к ним с любой страницы. Добавлять рубрики в "Избранное" я захотел через ajax, но столкнулся с проблемой полного отсутствия знания java script, jquery и вообще это темный лес для меня.

Тогда я отправился в google но ничего похожего не нашел и решил делать все сам.

Внимание! Как я уже писал jquery я не знаю и все что написано ниже - копи-паст отдельных частей с разных источников и подгонка под нужный функционал. Я не исключаю того что что-то можно реализовать проще, красивее и т.п. если будут предложения по улучшению - с радостью внесу изменения тут и у себя на сайте.

Первое что нам надо сделать - страницу с категориями, на которой мы выведем все категории доступные для добавления в "Избранное"

примечание: я не буду давать код вывода категорий, это не трудно найти в гугле. Да и у меня это не просто вывод категорий, а еще и подсчет суммарного кол-ва просмотров и скачиваний постов в категории.

Перед циклом вывода категорий нам надо получить ID всех категорий, которые пользователь уже добавил в избранное. Как понятно из кода (или если не понятно) избранные категории будут храниться в мета-поле пользователя закодированные в json (по другому я не придумал как)

($user_ID  - это глобальная переменная, в которой ID текущего пользователя (вроде работает только с wp-recall))

А этот код будет уже внутри цикла вывода категорий ($game['ID'] - это ID текущей категории в цикле)

Теперь нам нужно добавить скрипт, который будет реагировать на клик создаваемой кнопки и отправлять ajax запрос с id этой кнопки (где указана категория) на добавление в избранное (или удаление) - обработчик всего этого ниже, после кода скрипта.

 

Ну и самое последнее - код в functions.php который и будет обрабатывать наш запрос на добавление в избранное.

 

Ну вот и все, теперь осталось вывести результат. В моем случае это будет в выпадающем меню (скриншоты все в конце)

 

Вот и все. Конечно же я не уверен что конкретно мой пример кому-то понадобится, все таки задача довольно специфическая. Но может быть кто-то сможет использовать это как "базу" и переделать под себя.

Или укажет мне на ошибки и я их исправлю :)

А вот порция скриншотов как это работает у меня:


  

 

2

Автор публикации

не в сети 14 минут

Preci

323

1

Комментарии: 155Публикации: 32Регистрация: 11-11-2014Продаж/Покупок: 869/30