2013-12-04 5 views
0

В настоящее время я пытаюсь создать собственный тип сообщения для рецептов. Моя цель состоит в том, чтобы включить microformat schema.org/Recipe и/hrecipe, а также иметь возможность фильтровать ингредиенты в будущем.Wordpress: создание настраиваемого типа сообщений для рецептов

Для этого я намерен иметь интерфейс с полями для заголовка, фотографии, описания, ингредиентов и инструкций.

Мой вопрос: должен ли я создавать отдельные поля для каждого ингредиента и каждой суммы? Или вы бы сказали, что достаточно просто создать одно поле для всех ингредиентов? (также учитывая вышеупомянутые микроформаты).

http://schema.org/Recipe

http://microformats.org/wiki/hrecipe

ответ

0

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

На этот ответ имеется 3 части.

  1. Как вы должны сохранить ингредиенты в WordPress
  2. Как вы должны позволить пользователям изменять список ингредиентов
  3. Как следует отображать ингредиенты публично

Для точки 1, вы должны дать немного подумать о том, как вы сохраняете список ингредиентов и как вы извлекаете/отображаете его вместе с тем, как он запрашивается. Один из форматов указывает, что у вас могут быть свойства для каждого ингредиента (все еще в черновике).

Вы можете сохранить список ингредиентов, как упорядоченный массив PHP, что-то вроде этого:

$ ингредиентов [] = массив ('молоко', 'значение' => '125', 'тип' =>» мл '); $ components [] = array ('sugar', 'value' => '1', 'type' => 'cup');

Поскольку стандартизированные сериализованные PHP-массивы, вы можете довольно легко написать WP-запрос, который учитывает его.

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

Для пункта 2 вы можете создать настраиваемый мета-поле, которое десериализует массив PHP, который будет сохранен, и будет отображать отдельные элементы управления для каждого ингредиента вместе с элементами управления, позволяющими управлять (добавлять, удалять, обновлять).

Для пункта 3 .... самым простым было бы получить значение и манипулировать им, как вы хотите на выходе.

+0

спасибо. Я просто понял, что, вероятно, мне не хватает компетенции сделать это самостоятельно (по крайней мере, эффективно). Соединить тему было одно. Это другое. Я, вероятно, заплачу кому-то за это. – user3067073

+0

Кстати, я, кажется, неправильно понимаю, что вы или форматы: Как я вижу, оба формата ожидают, что каждый ингредиент будет каким-то образом отделен от других. Я понимаю, вы подразумеваете, что это требует, чтобы они находились в поле _single_? – user3067073

Смежные вопросы