amcdermott
  • 0
Новичок

Разрешить пользователям отмечать сообщения как завершенные?

  • 0

Будем признательны за любые предложения по ключевым словам для поиска — не знаю, как лучше всего описать этот запрос 🙂

У меня есть пользовательский тип сообщения «модуль». В моей установке ~300+ модулей. У меня ~100+ зарегистрированных пользователей (роль подписчика)

Запрос: я хочу, чтобы пользователи могли помечать «модуль» как «завершенный» с помощью флажка и иметь возможность получать эту информацию из БД при создании списков модулей.

Есть ли доступный плагин или хак или какие-либо предложения, если мне нужно написать код самостоятельно? Любые другие предложения?

Share
  1. [Я ОП, только что зарегистрировался] Спасибо за ответы, ребята. Я хорошо знаком с настройкой настраиваемых полей, поэтому с этим проблем не возникнет. BandonRandon прав — проблема здесь в том, что нам нужно хранить двумерный массив либо как настраиваемое поле для каждого сообщения с набором идентификаторов пользователей, либо как пользовательское предпочтение для каждого пользователя с набором идентификаторов сообщений. Вот почему мне интересно, изобрел ли уже кто-то колесо, и если нет, то какой подход лучше? Я думаю, что у каждого пользователя есть свой собственный список идентификаторов завершенных сообщений, я думаю, что, вероятно, он должен быть более масштабируемым, чем каждый пост с идентификаторами пользователей. Ан

    • 0
    • Во-первых: пожалуйста, обновите свой вопрос или комментарий к As. Не добавляйте комментарии или ответы на свой собственный вопрос. Система предназначена для других целей. Объявите свое В) Задайте себе вопрос, что произойдет, если пользователь или сообщение будут удалены, и как вы справитесь с этим. Можно ли иметь завершенные сообщения без соответствующего пользователя? Можно ли иметь идентификаторы сообщений в пользовательских метаданных сообщений, которых больше не существует?

      • 0
    • @kaiser: wilco, спасибо, что подсказал мне, как работают вопросы и ответы, я здесь впервые, поэтому приношу извинения за это. Да, вы поняли, почему я считаю, что у каждого пользователя должен быть массив постов.

      • 0
    • Извинения не нужны. Все сталкиваются с этим. Ad Q) Имо было бы лучше иметь оба. Поэтому, если пользователь удален, вы можете назначить его кому-то другому или вернуть статус. На стороне пользователя вы могли бы позже внедрить систему репутации, как здесь, на WA, и вернуть баллы, если сообщение будет удалено. Делает это намного проще. И вы можете нацеливаться на обоих с обеих сторон. Вы также представили пользователю свои данные. Попытка получить все сообщения без идентификаторов, сохраненных в метаданных пользователя, потребует дополнительных запросов и наоборот. Я всегда предпочитаю пространство БД перед запросами.

      • 0
    • Думаю, мне нужно поработать над этим кодом, прежде чем снова показывать его публично 🙂

      • 0
    • +1 я сделал что-то подобное, я поищу код, когда получу надежду.

      • 0
    • Поправьте меня, если я ошибаюсь, но разве вам не нужно настраиваемое поле для каждого пользователя? Либо так, либо сохраните разделенный запятыми список идентификаторов пользователей, которые «выполнили» задачу.

      • 0
    • Привет, ребята, я добавил несколько примеров кода ниже, что вы думаете?

      • 0
  2. Вы можете использовать «настраиваемое поле» для пометки элементов как завершенных. Они также известны как метаполя поста. Чтобы установить и прочитать эти поля, вы будете использовать функции WordPress update_post_meta() и get_post_meta() соответственно.

    Что касается фактического разрешения пользователям устанавливать этот флаг из внешнего интерфейса, AJAX кажется лучшим способом. Ознакомьтесь со статьей Кодекса об AJAX, особенно с разделом «Ajax на стороне, обращенной к зрителю».

    Вы можете создать все это в виде плагина или просто включить свой код в файл functions.php вашей темы.

    • 0

Оставить ответ

You must login to add an answer.