http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Создание пользовательских записей в wordpress

Опубликовано: 06.10.2017

видео Создание пользовательских записей в wordpress

Изменяем внешний вид ленты записей на главной плагином Advanced Custom Fields (произвольные поля)

Начиная с третьей версии wordpress предоставляет в наше распоряжение такой любопытный инструмент как произвольные типы записей (они же пользовательские, они же таксономии). Да, автор в курсе, что об этом написано уже немало строк в том числе и на русском языке, однако, столкнувшись с таксономиями в реальности, не всегда можно найти подробные примеры их использования (конечно, не считая скудного описания на официальном сайте wordpress). А посему… ну, как обычно, пишу, чтобы не забыть, ибо старые проекты, содержащие весь код, сохраняю редко.



Оглавление

Как создать?

Вообще, (вы удивитесь) wordpress уже содержит несколько примеров типов записей. Таковыми являются:

пост (post -> single.php) страница (page -> page.php) вложения они же медиафайлы (attachments) редакции (revisions) элементы меню (nav_menu_item)

Когда вы создаёте свой тип записи, он, как правило, базируется на каком-то уже существующем и наследует поведение встроенного типа. В примере создадим новый тип записи «Новости», взяв за основу обычный пост.


Шаблоны типов записей #WordPress 4.7

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

<?php /* includes/post-types.php */ /* ** Custom types ** Icons for Type: ** https://developer.wordpress.org/resource/dashicons/ */ // News function create_news () { register_post_type ( 'news' , array ( 'labels' => array ( 'name' => __ ( 'News' ), 'singular_name' => __ ( 'News' ), 'add_new' => __ ( 'Add news' ), 'add_new_item' => __ ( 'Add news item' ), 'edit' => __ ( 'Edit news' ), 'edit_item' => __ ( 'Edit news item' ), 'new_item' => __ ( 'Single news' ), 'all_items' => __ ( 'All news' ), 'view' => __ ( 'View news' ), 'view_item' => __ ( 'View single news' ), 'search_items' => __ ( 'Search news' ), 'not_found' => __ ( 'News not found' ), ), 'public' => true , // show in admin panel? 'menu_position' => 5 , 'supports' => array ( 'title' , 'editor' , 'thumbnail' , 'excerpt' , 'custom-fields' ), 'taxonomies' => array ( '' ), 'has_archive' => true , 'capability_type' => 'post' , 'menu_icon' => 'dashicons-admin-site' , 'rewrite' => array ( 'slug' => 'news' ), )); } add_action ( 'init' , 'create_news' );

Что сделали? Зарегистрировали новый тип записи с именем news. В массиве он принимает возможные значения, определяющие то, как будут выводиться названия тех или иных действий при редактировании новостей в административной панели. При этом использовали названия, учитывающие локализацию. Если вы делаете шаблон, не предназначенный для «мультиязычной» аудитории, можно ограничиться наименованиями на русском.

Карта
rss