Magic Fields вывод нескольких картинок
18 апреля 2011 в 23:41 в категории Создание сайтов 3 комментарияИтак, сегодня я, методом научного тыка, за неимением документации как в рунете, так и на сайте разработчика, понял, как можно реализовать вывод нескольких картинок через плагин для WordPress’a Magic Fields.
Итак, для начала немного о плагине:
Данный плагин позволяет добавить на страницу с редактированием записи необходимое поле, будь то текст или же загрузка файла. Он очень удобен и практичен.
Многие в рунете спрашивали у разработчиков, которые писали для этого скрипта обзоры, как же все-таки вывести несколько изображений. Но, к сожалению, либо по незнанию, либо по другим причинам, мне неизвестным, никто не отвечал, и данной информацию нельзя было найти через любимый поисковик гугл :).
В чем же состояла проблема?
Мы создаем группу полей для определенного раздела\ов. В ней мы создаем поле с загрузкой изображения, и при редактировании мы можем загрузить в это поле изображение, и его адрес передастся к нам на сайт при помощи функции get’имя_поля’).
Но там существует возможность дублировать как поля так и группы полей. Когда мы дублируем группу полей *2, то у нас дублируются все поля этой группы. А когда мы дублируем только поле *1, то по идее этой переменной передается два значения.
И как получить значения дубликатов? Пошарив по сайту разработчика, я наткнулся на интересный синтаксис:
get(’round’,1)
Я думал что именно это и есть решение проблемы! Но, когда я сделал дубликат поля round и ввел get(’round’,2) — ничего не вышло. Переменная была пуста.
Тогда я создал дубликат всей группы. И теперь в эту переменную записывался адрес изображения из поля round в дубликате! Но создавать дубликаты групп, если у тебя в группе несколько полей — это не вариант, ибо получиться что попало (см. рис. выше). Нужно искать вариант, как попасть к дубликату поля в первой копии группы полей. Я решил проблему просто — понадеясь на русский «авось» я ввел следующее:
get(’round’,1,2) — именно за этой функцие и гоняется весь рунет. Объясню что делает каждая из этих цифр.
1 — это номер копии группы.
2 — это номер копии поля в группе.
То есть если нам нужна третий дубликат поля в четверном дубликате группы — то мы напишем get(’round’,4,3)
Для вывода всех дубликатов поля из одной группы, думаю, не составит труда написать цикл:
$i=1; while (get('round',1,$i) != ''){ echo get('round',1,$i); $i++; }
Если вам была известна такая возможность в плагине MagicFields, то простите, что усомнился в мудрости рунетовских разработчиков, если же все-таки пост вам помог — нажмите «Мне нравиться ниже», или оставьте коммент, и я буду знать, что я помог не только себе, а и вам! 🙂
3 комментария
That’s not just the best asnewr. It’s the bestest answer!
Если это кому-то еще актуально — код для вывода нескольких копий изображения в один блок — или куда кому надо:
Внутрь «echo» можно вставлять html обертку, только не забывайте экранировать кавычки /»
не очень понял к чему вы написали…
Объясните?