Создание своих типов материалов. Плагин types для WordPress.

Известно, что в WordPress по умолчанию существует только два основных типа это записи и страницы.

Сегодня мы поговорим о том  как добавить новые типы данных в WordPress, при этом не лазя в исходный код CMS и совершенно без знания API WordPress.

Если вы решили создать на  CMS WordPress что то более сложное чем стандартный блог то для вас наверняка,Types будет один из самых полезных плагинов.  Types — это плагин разработанный командой разработчиков с сайта wp-types.com.  Для начала вы можете зайти на сайт разработчиков и скачать плагин, либо скачать его с официального репозитория WordPress.

И так скачиваем плагин, устанавливаем и активируем его. Слева в меню появится новый пункт types

Переходим в пункт меню Types -> Индивидуальные типы и систематики и в нем выбираем кнопку Добавить индивидуальный тип публикации, заполняем появившуюся форму. Для примера попробуем в WordPress сделать небольшую интернет витрину для размещения товаров на сайте.

После заполнения полей формы спускаемся ниже к настройкам:

  1. Значение метабокса Просматриваемость оставляем без изменений.
  2. Значение метабокса Выбрать систематики. В нашем типе рубрики и метки будут отключены.
  3. В метабоксе Метки можно изменить написание стандартных команд на свой язык.
  4. Вывести Разделы на дисплей:
    • Заголовок – рекомендуется оставлять включенным, даже если в нем нет необходимости, это поле может пригодится для поиска нужного материала в админ-панели .
    • Редактор – текстовый редактор, стандартное поле для типов данных в WordPress. В нашем примере текстовый редактор ненужен, отключаем его.
    • Комментарии – для Каталога товаров, они могут быть полезны, Т.к. описания к товарам будет мало комментарии помогут нам добавить уникального текста на страницу товара.
    • Редакции – редакции это копии документа, которые автоматически сохраняют все именения материала на сайте. Материал в нашем каталоге будет обновляться не часто, поэтому редакции мы можем не включать.
    • Остальные пункты находящиеся ниже за исключением Миниатюры нам не нужны. Ставим галочку напротив пункта Миниатюра.
    • Индивидуальные поля – из названия понятно, что это поля для вывода дополнительной информации, о их настройке мы поговорим позднее.
  5. Расширенный – расширенные настройки мы тоже оставим без изменений.

После сохранения в меню администратора мы видим, что появился новый созданный нами тип данных Товары.

Рядом с новым типом материала в меню выводится стандартная иконка, ее тоже можно настроить в настройках типа. Там же можно настроить порядок(очередность) вывода пункта в меню администратора.

Ваша индивидуальная иконка должна быть формата ico или png.

Перейдя сейчас в меню Товары -> Добавить новый, мы увидим что у нас отображается только название товара. Так как предполагается, что в каталоге будет много товаров, то хорошо бы для удобства разделить их на группы, для этого:

  1. Еще раз заходим в меню Types -> Индивидуальные типы публикаций и систематик.
  2. Добавить индивидуальную систематику.
  3. Заполняем поля формы и выбираем тип публикации Товар.
  4. Переименовываем метки.
  5. Расширенные настройки оставляем как есть.
  6. Сохраняем систематику.

После проделанных действий зайдя в Меню администратора -> Товары в правой колонке мы видим наш новый метабокс Групы товаров, в нем можно задавать категории в виде ключевых фраз. Принцип работы этого метабокса похож на Метки.

Следующим этапом будет добавление дополнительных полей для типа Товары.  Это будут следующие поля:

  • Название товара
  • Цена
  • Описание товара

И так переходим в пункт Types -> Индивидуальные поля. В появившейся форме заполняем Заголовок группы полей и Описание группы.

Затем в расположенном ниже метабоксе указываем Где выводить эту группу на дисплей. Под пунктом Типы публикаций нажимаем кнопку Редактировать и отмечаем тип Товары

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

Термины и Шаблоны не выбираем.

Справа есть группа под названием Имеющиеся в распоряжении поля в ней расположены готовые шаблоны для полей. Для полей названия и цены товара мы выберем тип поля — Однострочные поля, а для поля Описания товара выберем тип поля — WYSIWYG.

Слева у вас появятся поля с настройками:

  • Ввести название поля – заполняем название поля, например Описания товара.
  • Ввести поле динамических данных в поле – тут вводим уникальное имя поля на английском, например product-description.
  • Описать это поле – можно не заполнять, так как из названия поля все и так понятно.
  • Простое или повторяющееся поле? –в нашем примере, все поля могут иметь только одно значение. Но этот параметр может быть очень полезен, если вы решите создать например поле для загрузки нескольких картинок и потом выводить их на странице.
  • Обязательно – ставим галочку если поле является обязательным для заполнения.

Поэтому же принципу добавляем и заполняем оставшиеся поля — Название товара и Цена

При помощи крестика  для сортировки полей(крестика со стрелками) выставьте поля в нужном порядке и нажимаем Сохранить. После сохранения переходите в созданный тип публикации Товары -> Добавить новый. Если все было сделано правильно у вас появятся новые индивидуальные поля.

Заходим в меню Товары – > Группы товаров -> Создадим группы для товара.

  • Смартфоны
  • Планшеты
  • Аксессуары

В каждой группе для удобства создадим по 3 тестовых товара с описанием и миниатюрами.

Далее мы выведем наши товары для этого нам понадобится войти в меню Внешний вид – > Меню и добавить новое меню под названием Витрина.

Теперь в левой колонке находим метабокс Группы товаров, если нужных вам групп товаров не оказалось, то их можно включить вверху во вкладке Настройки экрана. Выбирем созданные нами ранее группы товаров Аксессуары, ПланшетыСмартфоны и добавляем их в область созданного меню. Незабудте Сохранить меню.

Чтобы вы вести отображение меню на сайте переходим Внешний вид -> Виджеты и в боковую панель сайта перетаскиваем виджет Произвольное меню. Вводим заголовок Категории товаров и выбираем меню Витрина как изображено на рисунке ниже.

По окончанию всех действий на сайте, появится наше новое меню.

Теперь необходимо создать файл шаблона для вывода таксономии и дать ему имя

taxonomy-{taxonomy}.php

Вместо {taxonomy} необходимо вставить содержимое Поля динамических данных из созданной нами систематики Группы товаров.

В шаблоне необходимо добавить структуру из файла в задании.

Структуру необходимо поменять под ваши настройки полей.

Рассмотрим все функции которые использовались в шаблоне: 

single_tag_title() – Выводит заголовок текущей метки, если просматривается архивная страница метки.

WP_Query() – задавая различные параметры, можно делать выборку и сортировку записей. Похоже на запрос к базе данных. Подробнее можно почитать на сайте разработчиков wordpress в кодексе, правда только на английском . Советую присмотреться к данной функции, на мой взгляд очень полезная.

$wp_query->query_vars – возвращает массив переменных запроса. Для понимания как работает данная конструкция, раскомментируйте ее в файле шаблона и посмотрите результат.

				
					<?php print_r( $wp_query->query_vars) ?>
				
			

have_posts() – проверяет, есть ли у текущего запроса WP данные для вывода.

the_post() – счетчик для цикла.

the_content() – содержимое поста или записи, так как мы не включали текстовый редактор, то эта функция ничего не делает.

get_post_meta($post_id, $key, $single) – возвращает данные из произвольного поля. Каждое поле, которое мы создавали для типа имеет свое произвольное поле, которое можно вывести через эту функцию.

$post_id (число) (обязательный) – ID поста, произвольные поля которого нужно получить.

$key (строка) (обязательный) – название произвольного поля, значение которого нужно получить.

$single (логический) – если выставить параметр в true, то функция вернет единственное значение в виде строки. Если параметр будет равен false или не будет установлен, то функция вернет массив значений произвольных полей.

Однако, если в значении произвольного поля находится серриализованный массив, то занчение true вернет, нормальный массив, а если указать false, то вернется массив в элементе (например [0]) которого будет все тот же сериализованный массив. То есть в этом случае параметр работает “наоборот”.
По умолчанию: false

 

get_permalink() – ссылка на пост.

the_title_attribute( ‘echo=0′ ) – атрибуты ссылки.

the_post_thumbnail(‘thumbnail’) – миниатюра с размером thumbnail.

Теперь давайте разберемся где найти метки для функции get_post_meta(). Например:

				
					get_post_meta($post-&gt;ID, &quot;wpcf-product-name&quot;, $single = true);
				
			

Перейдем в пункт меню Товары  и откроем один из ранее созданных нами тестовых товаров для редактирования, затем верхнем правом углу нажимаем на Настройки экрана и отмечаем галочкой чек-бокс напротив пункта Произвольные поля, после этого у вас появится мета-бокс с аналогичным названием.

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

Ну а в том случае если вы строго соблюдали рекомендации описанные в данной статье у вас должен получиться вывод товар как на картинке выше, и это означает что вы все сделали верно и вам только останется поправить вывод при помощи CSS стилей. В том случае если вам не хочется делать шаблон в ручную, то есть возможность автоматизировать вывод контента без вмешательства в код. Для этого вам потребуется приобрести плагин views , плагин хоть и платный но для тех кто занимается разработкой на WordPress этот плагин может ускорить работу в разы.

Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Web-Дизайн
help2site
Настройка виртуальных хостов

В этой заметке речь пойдет о настройке виртуальных хостов Apache под Windows. Я расскажу, что такое виртуальные хосты и для чего они используются. Подробные иллюстрации

Настройка
help2site
Как устанавливать драйвера на компьютер

Как установить драйвера? Это одни из распространенных вопросов начинающего пользователя компьютера. В установке драйверов нечего сложного нет, нужно просто запомнить несколько шаблонов действий, с помощью

Программы
help2site
Программа Advego Plagiatus

Advego plagiatus, или на русском языке звучит как адвего плагиатус, – это отличная программа проверки на плагиат текстового контента, размещаемого блоггером на своем сайте/блоге. Есть

Windows
help2site
Перегрев процессоров компьютера с ОС Windows 7

Последнее время на компьютерном рынке все больше появляются эффективные процессоры, создатели которых позаботились о том, чтобы они выделяли как можно меньше тепла. Однако даже современного

Оборудование
help2site
Что лучше Ipad 3 или Galaxy Tab 2

Часто борьба между двумя крупными компаниями покупателя загоняет в тупик. Главным образом я хочу попробовать поставить всё на места с двумя новыми и самыми спрашиваемыми

Web-Дизайн
help2site
Как очистить очередь сообщений postfix

Для начала давайте разберемся что такое Postfix? Postfix — это агент передачи почты (MTA — mail transfer agent). Postfix — это свободное программное обеспечение. Архитектура