WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Добавление / удаление записей в избранное

Подскажите, как можно реализовать "добавить в избранное" - для авторизованных и не авторизованных пользователей. Примерно, как в интернет магазине ДНС, Эльдорадо и т.д.
В идеале без использования плагинов.

0
TorielloMP
19 дней назад
  • 0

    При клике "добавить в избранное" делаешь ajax-запрос и в мета-поле к пользователю (например favorites), добавляешь переданное id.

    TorielloMP 18 дней назад

    А если клиент не авторизован?

    kaliyan 18 дней назад

    для не авторизованных, можно записывать в cookies или localStorage

    TorielloMP 18 дней назад

    Массивы хранить тоже можно? Извиняюсь за "банальные" вопросы, опыта не особо много.

    kaliyan 18 дней назад

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

    TorielloMP 18 дней назад

    Спасибо, буду разбираться.

    Комментировать
  • 1
    kolshix511 cайт: paxtoy.com

    Искал подобные решения
    наткнулся на старый плагин wp-favorite-posts

    он делает практически все что нужно, даже функционал достойный, про работу на новых WP не знаю, пишут что уже не актуальный, но

    Вы можете изучить плагин и использовать его как скелет

    Если будете пользоваться без изменений, то ВАЖНО! Плагин дырявый на инъекции в БД, я проверял в базу можно вгонять много лишнего, насколько опасно не знаю.

    но полечить можно

        if (!is_numeric($post_id)) {
    	return exit;
    	}

    так же есть версия от поклонников плагина - я сообщил и дырявость поправили !

    wp-favorite-posts

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