динамические настраиваемые мета-блоки WordPress - PullRequest
2 голосов
/ 20 марта 2012

Я постараюсь привести пример, что я хочу:

(это не то, чем я занимаюсь, но, похоже, это хороший пример того, как я бы хотел, чтобы это работало)

Представьте, что у нас есть пользовательский тип поста (CPT) «домов», и один из пользовательских мета-вариантов для этого CPT - «спальни» - очевидно, в разных домах разное количество спален, каждый из которых имеет разные свойства. Итак, я хотел бы иметь возможность позволить пользователю добавлять несколько различных свойств для спальни, т.е.

Размеры, аспект, количество окон и тип пола

Когда пользователь добавил эти данные для первой спальни, если в доме есть вторая спальня, я бы хотел, чтобы у него была кнопка «добавить спальню», и был добавлен другой набор этих мета-блоков, чтобы они могли заполнить подробности о спальне 2.

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

Было бы блестящим использование указателей на любые учебные пособия, или были бы с благодарностью приняты некоторые примеры плагинов, которые уже делают подобные вещи. Вот скриншот, чтобы понять, что я хочу сделать. enter image description here

Решение: Я нашел решение здесь, это может быть полезно для кого-то. https://wordpress.stackexchange.com/questions/25478/custom-post-type-metabox-array

1 Ответ

2 голосов
/ 27 марта 2012

Вы в основном после метабоксов повторителя. Несколько классов metabox поддерживают повторяющиеся поля. Стоит проверить http://www.farinspace.com/wpalchemy-metabox/

Я написал плагин, который использует повторяющиеся поля метабокса, в котором не используется wp-alchemy, если вы хотите копаться в нем. http://code.google.com/p/css-thumbnail-sprites/

...