Можно объединить два пользовательских типа сообщений?

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

Аналогично этому:

список

Обычно я создавал два отдельных типа сообщений; один для «artist» и еще один для «видеороликов», но мне было интересно, есть ли способ, каким-то образом совместить их? Поэтому в панели администратора это выглядит примерно так:

админ

Если возможно, как мне это сделать? Или я слишком задумываюсь об этом (как это часто бывает), и есть ли более простой способ?

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

В настоящее время я использую следующий код для прикрепления одного типа сообщения к другому:

function parent_select ($parent_type) { global $post; global $wpdb; $query = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = '{$parent_type}' AND post_status = 'publish' ORDER BY post_title"; $results = $wpdb->get_results($query, OBJECT); echo '<select name="parent_id" id="parent_id">'; echo '<option value = "">None</option>'; foreach ($results as $r) { echo '<option value="', $r->ID, '"', $r->ID == $post->post_parent ? ' selected="selected"' : '', '>', $r->post_title, '</option>'; } echo '</select>'; } 

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

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

Изменить: Чтобы перефразировать, вы просто создаете тип публикации «ArtistOrVideo», так сказать, и делаете его иерархическим. Он представляет собой оба. Первый уровень (post_parent = 0), который вы всегда рассматриваете как Исполнитель. Второй уровень (post_parent указывает на сообщение с post_parent = 0), которое вы всегда рассматриваете как видео. Затем вы можете также реагировать на ваш обмен метаколла-обратного вызова и создать метакаталог Artist для сообщений post_parent = 0 и видео-обмен для других. Я уверен, что вы можете это сделать через все приложение.

Однако каноническая альтернатива под рукой: не можете ли вы создать таксономию «Художников»?