Добавление пользовательских объектов/сущностей в WordPress

22 авг. 2014 г., 10:24:31
Просмотры: 14.3K
Голосов: 6

(У меня есть некоторый опыт создания тем для WordPress, но нет опыта в расширении функциональности WordPress. Я уверен, что это очень распространённый вопрос, но я не знаю, как искать ответ. Всё, что я нашёл - это как создавать пользовательские пункты меню.)

Как я могу создавать пользовательские типы объектов/сущностей в базе данных, например:

  • Члены команды - отдельная запись для каждого сотрудника компании
  • Референсные проекты - отдельная запись для каждого выполненного компанией проекта

В административной панели это выглядит примерно так:

Пример пользовательских типов записей в WordPress

Для каждого типа объекта я хочу определить, какие свойства у них должны быть (заголовок, имя, описание, заметки, изображение 1, изображение 2).

Как это можно реализовать? По каким ключевым словам мне стоит искать?

2
Комментарии

Проверь эти два плагина. Custom Post Type UI и ACF

Nilambar Sharma Nilambar Sharma
22 авг. 2014 г. 10:35:56

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

Pieter Goosen Pieter Goosen
22 авг. 2014 г. 10:41:22
Все ответы на вопрос 1
3

Думаю, вам нужно создать то, что WordPress называет "Пользовательскими типами записей". Ознакомьтесь со страницей о типах записей в Кодексе, где объясняется, что такое типы записей и как создавать пользовательские.

Вот базовый код для создания пользовательского типа записи "Объект":

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'object',
    array(
      'labels' => array(
        'name' => __( 'Объекты' ),
        'singular_name' => __( 'Объект' )
      ),
    'public' => true,
    'has_archive' => true,
    )
  );
}

Примечание: на вашем скриншоте видно, что используется очень старая версия WordPress (3.3 или около того). Пожалуйста, обновитесь до последней версии, чтобы использовать новые возможности.

22 авг. 2014 г. 11:05:40
Комментарии

Спасибо за подсказку. Куда именно нужно вставить этот код? Плагины вроде ACF и Custom Post Type UI делают то же самое?

Jonas Sourlier Jonas Sourlier
22 авг. 2014 г. 11:13:14

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

Fabien Quatravaux Fabien Quatravaux
22 авг. 2014 г. 11:22:31

@FabienQuatravaux: Я не рекомендую размещать эту функциональность в functions.php, потому что вы связываете функциональность с отображением. Вы действительно хотите потерять свои пользовательские типы записей при смене темы только потому, что хотите изменить внешний вид сайта? Или вам придется копировать их в каждую новую тему?

User User
26 июн. 2016 г. 10:14:24