—»     —»   Работаем с собственными типами записей (Post Type)
  Раздел: Wordpress   Комментариев: 2  

Работаем с собственными типами записей (Post Type)



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

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

Работаем с собственными типами записей (Post Type)

Что же такое собственный тип записи?

WordPress изначально предлагается с двумя типами записей: Post и Page. По умолчанию, записи типа post являются чувствительными ко времени, и время их жизни «на полке» ограничено. Записи типа page считаются долгожителями, и тип этот разработан специально для того, чтобы отмечать им статичный контент типа страницы «О нас» или страницы с контактами.

Но в ваш веб-сайт, основанный на Wordpress, можно добавить собственные типы записей (сколько угодно типов). Например, недавно один наш знакомый закончил работу над сайтом для локального закрытого клуба хоккейной команды. На этом сайте были разработаны страницы-профайлы для каждого игрока. Все эти страницы были отмечены собственным типом записи. Этот тип, наподобие страниц-профайла пользователей, собирает информацию о спортсменах (включая информацию об образовании, атлетические характеристики, а также личную информацию) и предлагает её на странице.

Собственные типы записей могут быть простенькими или сложными, по вашему желанию. Это и делает данную функцию самой важной в системе Wordpress. Посредством нескольких строк кода в файле functions.php вы можете создать новый типа записи в шаблонах Wordpress.

Погодите. Мне нужно писать код? Разве для этого нет плагинов?

Вы можете попробовать поискать подобные плагины, НО! То, что вы сейчас читаете эту статью на нашем сайте, говорит о том, что вы имеете достаточный навык, чтобы собственноручно писать код. Это позволит вам сохранить полноценный контроль над собственными типами записей (где они будут использоваться, что они будут отображать и т.д.). К тому же, если вы продолжите добавлять плагин за плагином, вы рискуете сильно навредить производительности системы. Не стоит использовать слот плагина для такого простого дела.

Каким образом вам поможет это руководство?

Мы впервые задеваем эту тему на нашем сайте, поэтому здесь мы, возможно, охватим суть немного иначе, чем это было в остальных статьях. Мы всё так же постараемся объяснять вам всё, что мы делаем, и почему мы это делаем, а затем мы представим вам весь необходимый код. Нам кажется, что мозг человека работает гораздо производительнее, если он понимает то, на что он смотрит, и что он пытается создать.

Давайте же приступим к созданию собственных типов записей.

Начало

Для начала, вы, вероятно, захотите поставить свежую версию CMS Wordpress на локальный сервер (здесь вы можете прочесть о том, каким образом вы можете поставить систему с MAMP или WAMP), а также вам понадобится редактор текста. Это поможет вам даже если вы гуру Wordpress, и даже если вы знаете о предназначении файла functions.php.

Некоторые разработчики советуют сохранять «мобильность» вашего кода, и из этого мы делаем вывод, что неплохо было бы разместить код нового типа записи в отдельном PHP-файле, а затем включить его в файле functions.php. Это позволит вам не захламлять файл functions.php, и позволит вам использовать новые типы записей сразу на нескольких сайтах.

Так что, вперед, открывайте свой редактор кода, открывайте файл functions.php, и создавайте новый php-файл.

Регистрация нового собственного типа записи

Первое, что нам нужно сделать, это зарегистрировать наш новый тип записи в нашем php-файле, а затем включить его в functions.php. Для более подробной информации о регистрации собственного типа записи, обратитесь к руководству WordPress Codex на предмет register_post_type();. Сначала мы вызываем функцию add_action() с инициализацией и привязкой имени нашей функции.

Как только мы инициализировали тип записи, нужно создать два массива под названиями $labels и $args. Это создаст ярлыки, которые вы будете видеть в админ-панели, а также строку для прямой ссылки (если вы, конечно, используете настройку прямых ссылок).

Наконец, после объявления $lables и $args, мы регистрируем тип записей посредством register_post_type();. Наш код должен быть следующим.

add_action('init', 'athlete_register');

function athlete_register() {

$labels = array(
'name' => _x('Athlete Profiles', 'post type general name'),
'singular_name' => _x('Athlete Profile', 'post type singular name'),
'add_new' => _x('Add New', 'athlete profile'),
'add_new_item' => __('Add New Athlete Profile'),
'edit_item' => __('Edit Athlete Profile'),
'new_item' => __('New Athlete Profile'),
'view_item' => __('View Athlete Profile'),
'search_items' => __('Search Athlete Profiles'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => ''
);

$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'menu_icon' => null,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','editor','thumbnail')
);

register_post_type( 'athlete' , $args );
}

Как мы уже упоминали ранее, ознакомьтесь с WordPress Codex для того, чтобы получить более подробное разъяснение по поводу различных аргументов, которые вы можете проводить через $lables и $arg.

Теперь давайте перекинемся на наш файл functions.php и включим в него наш php-файл с новым типом записи. Здесь и происходит волшебство, после которого новый ярлык появляется в админ-панели.

// Add the Custom Post Type
require_once('_/inc/athleteprofile.php');

Как видно по ссылке, использованной в приведенном коде, собственный тип записи в примере называется athleteprofile.php, и расположен он в папке includes. Вернитесь обратно в админ-панель Wordpress, обновите страницу, а затем пригнитесь и насторожитесь! Шутка! Но новый тип записи уже появился!

Готово! Правда ведь, не так уж и сложно?

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

Оставайтесь на связи!
Обнаружили ошибку или мёртвую ссылку?
Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса.
Нужна органическая вечная ссылка из данной статьи? Постовой?
Подробности здесь
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

Ключевые тэги: Wordpress, PHP
Опубликовал Design FactoRy   Прочитано (раз): 8689   |   Оставлено комментариев: 2
Источник материала / оригинал статьи   Распечатать
Другие статьи и новости по теме:
Комментарий #1: 11 июля 2012 @ 20:46
Написал: Webaнутый — группа: Гости  
На сайте с: --   |   Публикаций: 0   |   Комментариев: 0
ICQ: --- не указано ---
В текст мелкая опечатка в месте "недавно один наш знакомых"...
Не критично, но глаз просто цепляет (:

Спасибо, пошел читать вторую часть.
Комментарий #2: 12 июля 2012 @ 11:55
Написал: Design FactoRy — группа: Администраторы  
На сайте с: 21.07.2009   |   Публикаций: 3300   |   Комментариев: 500
ICQ: --- не указано ---
Webaнутый, спасибо, исправлено.

ПС: в дальнейшем, если нашли ошибку, можете ее просто выделить и нажать CTRL+ENTER.
Добавление комментария
Уважаемые пользователи!
При добавлении комментариев на сайт Вам следует учитывать следующее - все комментарии проверяются Администрацией на предмет отсутствия спама. При обнаружении признаков спама, в оставленном Вами комментарии, сам комментарий будет незамедлительно удалён, а Ваш IP-адрес будет забанен без предупреждения! Учётные записи пользователей, рассылающих спам, блокируются/удаляются без права последующего восстановления.

С уважением, Администрация сайта.
* = поля обязательны к заполнению
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос : Назовите месяц November по-русски
Подтверждение кода безопасности :

Включите эту картинку для отображения кода безопасности
обновить, если не виден код


Иваново ткани
Мультиаксиальные ткани для усиленных композитов
lanatex37.ru
Популярные публикации


















Свежие шаблоны сайтов каждый день
С миру по нитке
«    Ноябрь 2017    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
27282930