oterox
  • 0
Новичок

Пользовательские типы сообщений, содержащие коллекцию элементов

  • 0

у меня есть продукты пользовательского типа сообщений. Как я могу добавить коллекцию элементов к этому пользовательскому типу сообщений, например:

Продукт A

название

описание

цена

option1

option2

option3

option n

Опции могут быть 0-n

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

table_products (product_id, title,…)

table_options ( product_id, option_id,…)

Спасибо.

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

    prefix_posts(post_id,title,content,...
    

    Таким образом, чтобы использовать параметры в отношении post_id, вы можете использовать встроенные настраиваемые поля, которые представляют собой пары ключ/значение.

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

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

    prefix_postmeta(meta_id,post_id,meta_key,meta_value)
    

    и для доступа к этим параметрам вы используете функцию get_post_meta() :

    $meta_values = get_post_meta($post_id, $key, $single);
    

    например, скажем, у вас есть поле с именем цена, чтобы получить его значение:

    $price = get_post_meta($post_id, 'price', true);
    

    и это даст цену товара с тем же post_id.

    надеюсь это поможет.

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

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

      • 0

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

You must login to add an answer.