Сохранить критерии поиска для каждого пользователя и отображать на индивидуальной странице пользователя.

Вопрос или проблема

У меня есть сайт недвижимости с пользовательской формой поиска для минимальной и максимальной площади.

Зарегистрированный пользователь выполняет поиск с минимальным (например, 150 кв. футов) и максимальным (например, 300 кв. футов) значением выбора.

Мне уже удалось сохранить в куки минимальные и максимальные значения.

Затем пользователь может нажать на кнопку “сохранить этот поиск”.

Я хотел бы сохранить эти значения в базе данных и показывать их на странице профиля каждого пользователя (которую я уже создал).

Когда пользователь заходит на страницу профиля, я хотел бы видеть список всех сохраненных поисков.

Надеюсь, это понятно.

В идеале пользовательская страница будет выглядеть так:

Сохраненный поиск 1: 150 кв. футов – 300 кв. футов

Сохраненный поиск 2: 500 кв. футов – 800 кв. футов

Это возможно? Как мне это сделать?

Я довольно новый в настройке шаблонов WordPress, я бы очень оценил любую помощь.

Предполагая, что у этих пользователей есть учетные записи на вашем сайте (они являются подписчиками, авторами или имеют другую роль), вы можете добавить настраиваемые поля в их профили. Самый простой способ — использовать плагин, такой как Advanced Custom Fields (https://wordpress.org/plugins/advanced-custom-fields/).

Поля будут доступны на страницах их профилей, и вы сможете добавлять и использовать их в любом шаблоне.

Я бы дал примеры кода, но их сайт, похоже, не работает… Я постараюсь обновить ответ, когда он снова станет доступен.

Обновление: ACF может позаботиться о создании полей и отображении их на странице профиля пользователя, и вы можете использовать add_user_meta для их сохранения:

add_user_meta( $user_id, 'custom_field_name', $search);

Если вы не хотите использовать ACF, вы можете отображать поля в профиле с использованием пользовательского кода. Удаление поисков будет немного сложнее, но возможно.

Подводя итоги:

Создайте новый пост и сохраните информацию о поиске как мета-данные поста, затем обращайтесь к ним позже по идентификатору поста.

Создайте настраиваемый тип поста

Узнайте, как сохранить мета-данные поста

Используйте wp_insert_post для сохранения поста и мета-данных, когда поиск сохранен

Выводите в шаблонах с использованием обычных циклов

Это дает нам решение на серверной стороне, которое может быть связано с данными, которые вы упомянули, решением на стороне клиента могло бы быть добавление данных в window.localStorage для последующего поиска и предзаполнения входных данных формы.

Ответ или решение

Конечно, давайте рассмотрим, как реализовать сохранение критериев поиска на вашем сайте WordPress с учетом предоставленного контекста.

F (Fact) — Текущая ситуация:

Вы владеете сайтом недвижимости с поисковой формой, которая позволяет пользователям фильтровать объявления по площади (минимальная и максимальная площадь в квадратных футах). Пользователь может сохранить критерии поиска, чтобы потом быстро получить доступ к этой информации на своей персональной странице.

O (Objective) — Что нужно сделать:

Вам необходимо решить следующие задачи:

  1. Хранение информации о критериях поиска каждого пользователя в базе данных.
  2. Отображение сохраненных поисков на пользовательской странице профиля.
  3. Обеспечение возможности добавления, обновления и удаления сохраненных поисков, если потребуется.

R (Reason) — Почему это важно:

Подобная функция значительно улучшит пользовательский опыт, позволяя клиентам быстро находить интересующие их объекты, что повысит вовлеченность и удовлетворенность пользователей.

E (Evidence) — Примеры и доказательства:

Использование плагина Advanced Custom Fields (ACF) позволяет легко добавлять и настраивать пользовательские поля на страницах профиля пользователя, непосредственно интегрируя их в темы WordPress. Это решает задачу хранения данных поисков и их вывода без необходимости углубленных знаний программирования.

S (Solution) — Как это реализовать:

  1. Создание пользовательских полей: Используйте плагин ACF для добавления пользовательских полей в профили пользователей. Эти поля будут хранить данные о минимальной и максимальной площади.

  2. Сохранение данных поиска в базу данных: При нажатии на кнопку "сохранить этот поиск" используйте PHP-функцию WordPress add_user_meta для сохранения этих данных:

    add_user_meta( $user_id, 'saved_search', array('min_sqft' => $min_sqft, 'max_sqft' => $max_sqft) );
  3. Отображение данных на странице профиля: Извлекайте сохраненные параметры поиска с помощью get_user_meta и отображайте их на персональной странице пользователя:

    $saved_searches = get_user_meta( $user_id, 'saved_search' );
    foreach ($saved_searches as $search) {
       echo 'Saved Search: '. $search['min_sqft'] . 'sq ft - ' . $search['max_sqft'] . ' sq ft<br>';
    }
  4. Управление поисками: Если предусмотрено добавление дополнительных возможностей, таких как удаление критериев поиска, используйте функции delete_user_meta для управления данными.

T (Testimony) — Заключение и призыв к действию:

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

Эта реализация будет органично интегрирована в WordPress, улучшая пользовательский опыт и обеспечивая простоту дальнейшей поддержки и масштабируемости сайта.

Оцените материал
Добавить комментарий

Капча загружается...