Intereting Posts
Можно ли изменить размер изображения, используемый для предварительного просмотра в папке «Добавить медиа» Как обновить язык, используемый wordpress из плагина Как извлечь данные из страницы «Изменить мой профиль» в WordPress? При каких обстоятельствах файл .maintenance не удаляется? Есть ли функция для получения информации о сообщении для любого publish_status по идентификатору сообщения? Реорганизация пространств имен Собственный плагин блокирует активацию плагина Загрузка исходного кода в пользовательский метабокс Сортировка по дате, затем по времени Получать массив сообщений на основе пользовательских значений полей Как изменить поле «Калькулятор доставки» на странице «Корзина» – woocommerce? Как автоматически активировать плагин при установке Проблема Миграция всего блога данных с WordPress.com на WordPress.org Сломанные изображения / видео после миграции – тема DIVI – работает нормально в Mac OS Используя пользовательский Javascript и pHp для отправки электронной почты себе, когда пользователь нажимает кнопку ввода, но работает только на Chrome, IE и Micorosft Edge

Как обрабатывать этот конкретный случай пользовательского типа сообщений?

Я работаю над WP плагином WP SoundSystem . Это плагин, предназначенный для работы на «музыкальном» веб-сайте: он обрабатывает исполнителей, треки, альбомы, плейлисты … через настраиваемые типы сообщений и инструменты. Вы можете видеть, как он работает на Spiff Radio .

Когда я публикую новый плейлист, моя функция проверяет каждую строку трека из списка треков и создает новый трек; или возвращает идентификатор существующей записи дорожки, если она существует (у меня есть функция, которая проверяет наличие того же исполнителя + название + метаданные альбома). Затем список идентификаторов дорожек сохраняется как мета-сообщение в записи треклиста.

введите описание изображения здесь

Я разработал его так, потому что думаю, было бы неплохо добавить один и тот же трек несколько раз; но лучше иметь ОДИН трек с максимально точной информацией (изображение с изображением, аудиоисточники и т. д.).

Но это еще одна проблема. Я хотел бы добавить в свой плагин пользовательские функции, среди которых возможность создания новых плейлистов и / или добавления треков в их существующие плейлисты.

Но тогда, как насчет следовых сообщений?

  • Что делать, если пользователь A добавляет трек от пользователя B в свой список воспроизведения; но этот пользователь B удаляет трек позже? Или что-то типа того ?
  • Должен ли я удалить функцию delete_post для этих пользователей?
  • Должен ли я «передать» право собственности на дорожку на пользователя А вместо удаления сообщения?
  • Кто может редактировать этот трек?

Как вы можете видеть, я не согласен с тем, как я храню треки, какие возможности я должен предоставить своим пользователям, и как это работает.

Или, может быть, это вместо хранения списка идентификаторов дорожек для списка воспроизведения; Я должен сохранить список треков (artist + title + album)?

У вас есть какие-то советы по этому поводу? Благодаря !

Solutions Collecting From Web of "Как обрабатывать этот конкретный случай пользовательского типа сообщений?"

Вопрос в следующем: как вы хотите справиться с этим?

Насколько я понимаю, вы в настоящее время пытаетесь создать базу данных песен («track post»), из которой пользователи смогут выбирать из своих плейлистов. Каждый пользователь может добавлять новые песни.

Вы можете решить эту проблему аналогично тому, как работает StackExchange: добавьте пользователя сообщества . Всякий раз, когда создается песня, ее собственность передается пользователю Сообщества. Затем добавьте пользовательские возможности, которые относятся к этому пользователю Сообщества. Кто может редактировать сообщения, которые удаляют, …?

В этой базовой версии может оказаться, что пользователь не может редактировать / удалять созданную изначально песню. Вы даже можете добиться этого, сохранив оригинального создателя как мета-поля, подключившись к user_has_cap .