Главная Новости

Register_post_type() - регистрация типов постов в WordPress

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

В случае успеха функция возвращает объект зарегистрированного типа поста, в случае неудачи — объект WP_Error. Функция должна использоваться только внутри хука init.

Читайте подробнее о том, что такое типы записей (типы постов).

register_post_type ( $post_type , $args = array ( ) )
$post_type (строка) то, как вы хотите назвать свой тип поста, это название в дальнейшем будет использоваться в параметрах многих функций, учтите это. Кроме того, нельзя использовать в качестве названий следующие зарезервированные вордпрессом слова: post page attachment revision nav_menu_item action order theme $args (массив) включает в себя следующие параметры: labels (массив) позволяет подписать элементы интерфейса данного типа записи. Подробнее в примере в конце поста. description (строка) описание регистрируемого типа записей. Насколько мне известно, этот параметр не используется где-либо в движке WordPress или в стандартных плагинах и темах. Но вполне может использоваться в сторонних плагинах или темах. public (логическое) обобщает следующие несколько параметров, устанавливая для них соответствующие значения по умолчанию publicly_queryable (логическое) нужно ли элементы данного типа записей сделать доступными на сайте. Подробнее про задачу этого параметра тут .

По умолчанию: значение аргумента public. exclude_from_search (логическое) true — исключить записи данного типа из результатов поиска на сайте, false — не исключать.

По умолчанию: противоположные значения параметра public.

show_in_nav_menus (логическое) нужно ли элементы данного типа записей сделать доступными для добавления в меню сайта.

По умолчанию: значение аргумента public. show_ui (логическое) нужно ли добавлять стандартный интерфейс в админке для редактирования и добавления записей данного типа.

По умолчанию: значение аргумента public. show_in_menu (логическое|строка) нужно ли добавлять пункты в меню админки.

По умолчанию: значение аргумента show_ui.

show_in_admin_bar (логическое) нужно ли добавлять ссылку на создание новой записи данного типа в админ панель.

По умолчанию: значение аргумента show_in_menu.

menu_position (целое число) порядок расположения в меню в админке. Значения параметров Расположение
1 в самом верху меню
2-3 под «Консоль»
4-9 под «Записи»
10-14 под «Медиафайлы»
15-19 под «Ссылки»
20-24 под «Страницы»
25-59 под «Комментарии» (по умолчанию, null)
60-64 под «Внешний вид»
65-69 под «Плагины»
70-74 под «Пользователи»
75-79 под «Инструменты»
80-99 под «Параметры»
больше 100 под разделителем после «Параметры»
menu_icon (строка) абсолютный URL иконки для меню. Оптимальное разрешение изображения 16×16 пикселей.

Кроме того, в WordPress 3.8 появился встроенный пакет иконок Dashicons — вы можете использовать любую из этих иконок, просто указав её название в качестве значения параметра, например dashicons-cart.

По умолчанию используется иконка обычных записей.

delete_with_user (логическое) при удалении пользователя на блоге, нужно ли автоматически удалять все записи данного типа, которые он опубликовал.

По умолчанию: false. hierarchical (логическое) должен ли данный тип постов иметь иерархию.

По умолчанию: false. has_archive (логическое|строка) должен ли данный тип постов иметь собственную страницу архивов. В качестве значения параметра можно указать ярлык страницы архивов.

По умолчанию: false. rewrite (массив|логическое) устанавливает правила для постоянных ссылок в URL. Если в качестве значения данного параметра указать false, то правила для постоянных ссылок создаваться не будут. slug (строка) ярлык, используемый для записей данного типа (по умолчанию — название типа поста) with_front (логическое) нужно ли добавлять в постоянные ссылки значение $wp_rewite->front (по умолчанию — true) feeds (логическое) нужно ли создавать RSS ленту для данного типа поста (по умолчанию — значение параметра has_archive) pages (логическое) нужно ли разрешить постраничную навигацию в постах регистрируемого типа, используя тег <!--nextpage--> (по умолчанию — true) supports (массив) какие метабоксы нужно добавить на страницы редактирования записей данного типа. title — поле для ввода заголовка поста editor — текстовый редактор excerpt — метабокс «Цитата» author — метабокс «Автор» thumbnail — метабокс «Миниатюра записи» (кроме того, ваша тема должна их поддерживать) comments — метабокс «Комментарии» (если указано, то разрешены комментарии к постам регистрируемого типа) trackbacks — метабокс «Отправить обратные ссылки» custom-fields — метабокс «Произвольные поля» (произвольные поля будут поддерживаться в любом случае) revisions — метабокс «Редакции» (если указано, то в базе данных будут создаваться редакции постов данного типа) page-attributes — метабокс «Атрибуты страницы» с возможностью выбора родительского эоемента и установления порядка menu_order post-formats — метабокс «Формат», про форматы постов читайте подробнее здесь . taxonomies (массив) массив зарегистрированных таксономий, например category или post_tag, которые будут использоваться для данного типа записей. Присвоить таксономии можно также при помощи функции register_taxonomy_for_object_type() .

Пример регистрации типа поста

Если не знаете, куда вставлять код — вставляйте в functions.php вашей текущей темы.

add_action ( 'init' , 'true_register_products' ) ; // Использовать функцию только внутри хука init function true_register_products ( ) { $labels = array ( 'name' => 'Товары' , 'singular_name' => 'Товар' , // админ панель Добавить->Функцию 'add_new' => 'Добавить товар' , 'add_new_item' => 'Добавить новый товар' , // заголовок тега <title> 'edit_item' => 'Редактировать товар' , 'new_item' => 'Новый товар' , 'all_items' => 'Все товары' , 'view_item' => 'Просмотр товаров на сайте' , 'search_items' => 'Искать товары' , 'not_found' => 'Товаров не найдено.' , 'not_found_in_trash' => 'В корзине нет товаров.' , 'menu_name' => 'Товары' // ссылка в меню в админке ) ; $args = array ( 'labels' => $labels , 'public' => true , // благодаря этому некоторые параметры можно пропустить 'menu_icon' => 'dashicons-cart' , // иконка корзины 'menu_position' => 5 , 'has_archive' => true , 'supports' => array ( 'title' , 'editor' , 'excerpt' , 'thumbnail' , 'comments' ) , 'taxonomies' => array ( 'post_tag' ) ) ; register_post_type ( 'product' ,$args ) ; }

Добро пожаловать , Гость !

Мы настоятельно рекомендуем Вам зарегистрироваться, если вы ещё этого не сделали. регистрация откроет Вам новые функции.

Войти или Зарегистрироваться

www.silvio-berluskoni.ru © Все права защищены © 2016.