В прошлый раз я показал вам, как создать простой список событий
используя, пожалуй, самую мощную функцию WordPress 3.0 — пользовательские типы записей. После нескольких запросов на дальнейшее развитие, сегодня мы создадим базу данных по обзору продуктов, чтобы связать воедино все, что мы узнали до сих пор.
Вы сможете вести отдельный список продуктов, используя пользовательские типы записей, каждый со своим связанным изображением, а также некоторую мета-информацию, такую как цена, рейтинг, характеристики — и мы закончим все это с помощью способа отображать их в виджете боковой панели и странице индекса. Звучит хорошо? Читать дальше.
Требования:
Вам понадобится работающая самостоятельная установка WordPress 3.0+, и для этого понадобится обширное PHP-кодирование. Я дам вам код, но вам нужно быть относительно комфортным с PHP и XHTML, чтобы адаптировать имена переменных к вашим потребностям или изменить стиль. Если вам нужен быстрый курс для начинающих по CSS и XHTML, могу ли я предложить наше замечательное бесплатное руководство для начинающих для скачивания. Я также предлагаю вам использовать чисто закодированный но основной theme — тема по умолчанию Twenty-Ten или Twenty-Eleven на самом деле довольно сложна для редактирования, поэтому попробуйте сначала что-нибудь попроще, прежде чем пытаться интегрироваться с ней.
Создать типы сообщений
Если вы читали учебник за последние недели, вы должны быть знакомы с созданием пользовательского типа записей в WordPress. Скопируйте и вставьте этот базовый код в новый плагин, активируйте его и начните добавлять новые продукты, чтобы у нас был набор данных для работы. (Примечание: если вы предпочитаете просто загрузить полный и полный код сейчас, не пытаясь добавить что-то по пути, используйте вместо этого этот готовый код. Вы все равно можете следовать учебному пособию и настраивать его по ходу дела)

Также целесообразно решить, какую мета-информацию вы хотите связать с каждым продуктом. Например, для базы данных цифровых камер может потребоваться:
- Розничная цена
- разрешение
- HD видео
- Ссылка для покупки
- Рейтинг
Вместо того, чтобы добавлять эту информацию непосредственно в описание продукта («публикация контента»), мы собираемся создать настраиваемые поля для хранения этой информации. На экране добавления продукта убедитесь, что вы включили настраиваемые поля, а затем создайте новое поле для каждого набора информации. Вам нужно будет создать новые поля только один раз — следующий продукт, который вы добавите, сможет выбрать имя настраиваемого поля из выпадающего списка. Не забудьте добавить рекомендуемое изображение, а также использовать его для отображения вместе с информационным продуктом позже.
Шаблон одного продукта
Если вы попытаетесь просмотреть один из ваших продуктов сейчас, вы, вероятно, получите 404 Не Найдено ошибка. Чтобы это исправить, отправляйтесь в постоянные настройки WordPress и просто нажмите Сохранить настройки один раз. Теперь, когда вы просматриваете одну из ваших новых записей о продуктах, в зависимости от вашей темы, вы можете увидеть что-то немного простое. Текст заголовка и описания есть, но как насчет всей нашей пользовательской мета-информации и изображения?
Чтобы настроить отдельные представления продуктов, нам нужно настроить новый файл шаблона с именем одного products.php — сделайте это, дублируя ваш существующий single.php таким образом, у нас есть основа на месте, и мы не начинаем с нуля.

На данный момент я собираюсь внести очень небольшое изменение в строку, которая отображает «Написано (автор) в (дата)», поэтому вместо этого просто читается: «Добавлено в базу данных в (дата)». Это просто для того, чтобы я мог быть уверен, что шаблон работает, и обновление страницы одного продукта должно показать это изменение немедленно.
Теперь, чтобы добавить изображение, которое мы прикрепили к продукту, эта строка должна сделать это (я также включил информацию о стиле, если вам это нужно). Я разместил полный код в своем собственном файле single-products.php, но помните, что он уникален для моей темы, поэтому простое копирование его в каталог собственной темы может привести к неожиданным результатам.

Самый простой способ добавить мета-информацию в любом месте — это использовать:

… Но это только даст нам очень простой выходной список пар ключ-значение. Чтобы сделать что-либо более сложное с возвращаемыми значениями (например, отобразить изображение с оценкой звезд), вам нужно захватить все значения и перебрать их. [Посмотреть код здесь]:

В приведенном выше примере я проверяю каждое имя настраиваемого поля ( $ ключ) чтобы увидеть, если это называется ‘уровень». Если это называется уровень, а не просто возвращать значение поля назад, я отображаю другой графический элемент на основе содержимого. Для любых других настраиваемых полей я повторяю значение, как оно есть, вместе с именем поля (что именно the_meta () делает). Теперь моя единственная страница продукта выглядит так:

Я собираюсь оставить его там для просмотра отдельных продуктов, так как это действительно зависит от вашей собственной темы и того, чего вы хотите достичь с ее помощью. А пока давайте перейдем к виджету боковой панели, чтобы отобразить… 3 наиболее высоко оцененных продукта в базе данных?
Виджет
Для этого я немного скорректировал код, который я дал вам ранее в посте Как написать простой виджет WordPress
, но вместо того, чтобы показывать один случайный пост, я настроил его следующим образом [полный код здесь]:

Это даст мне 3 поста, выложенных по примеру скриншота ниже. Если вы не видите ни одного из ваших продуктов, проверьте очень внимательно раздел, который говорит meta_key = Рейтинг, чтобы убедиться, что у вас есть мета-ключ с этим именем. Обратите внимание, как я также решил отображать метаинформацию, связанную с этим продуктом, вместе с избранным эскизом, но вы можете отредактировать этот конкретный блок кода, чтобы показать все, что вам нравится.

Архив продукции или листинг
Наконец, я также хотел сделать страницу индекса / архивов, чтобы посещение http://yourdomain.com/products/ покажет простой список всех продуктов, похожий на индекс блога. Основной отрывок + стиль миниатюр постов, который я показал вам, как сделать в разделе Как добавить миниатюры постов к вашей теме
статья была в основном достаточной, но для ее настройки я продублировал archive.php файл в моей теме и переименовал его архив-products.php.
Если у вас еще нет страницы архивов, просто скопируйте index.php и переименуйте его в архив-products.php. Опять же, изменив строку мета-информации статьи и добавив вызов the_meta () где-то я получил это:

Очевидно, что это выглядит немного глупо как с архивами, так и с боковой панелью, и это может сделать с немного большей настройкой стиля, но я оставлю это на ваше усмотрение!
Вот и все от меня сегодня. Вы можете просмотреть полный код онлайн здесь — просто скопируйте и вставьте или загрузите весь файл в файл с именем products.php, и поместите его в каталог плагинов. Вы должны быть в состоянии расширить свой блог WordPress в базу данных всего, что угодно! Трудно ответить на отдельные проблемы, которые у вас могут возникнуть, но, пожалуйста, оставляйте сообщения в комментариях, если вам нужна помощь или вы хотели бы выразить свою признательность — твит или лайк Facebook очень понравились бы, или даже упоминание на вашем сайте. блог, если вы решили реализовать это. Спасибо за чтение, и не забывайте все другие учебники WordPress, которые у нас есть!