get_post_types()

Получает список всех зарегистрированных объектов типов записей
Функция WordPress
INT 2.9.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение списка всех зарегистрированных типов записей
  4. Получение объектов типов записей с определенными аргументами
  5. Получение имен типов записей с определенным типом вывода
  6. Получение имен типов записей, удовлетворяющих определенной логической операции
  7. Вопросы и ответы
  8. Как получить список зарегистрированных типов записей?
  9. Как получить только имена зарегистрированных типов записей?
  10. Как получить объекты зарегистрированных типов записей?
  11. Как получить список зарегистрированных типов записей с определенными аргументами?
  12. Как получить список зарегистрированных типов записей с определенным типом вывода?
  13. Как получить список зарегистрированных типов записей, где хотя бы один аргумент должен соответствовать?
  14. Как получить список зарегистрированных типов записей, где ни один аргумент не должен соответствовать?
  15. Связанные элементы

Описание функции

Функция get_post_types() возвращает список всех зарегистрированных объектов типов записей (post types) в WordPress.

Использование

get_post_types( array|string $args = array(), string $output = 'names', string $operator = 'and' ): string[]|WP_Post_Type[]

Функция get_post_types() принимает три необязательных параметра: $args, $output и $operator. Параметры указываются в виде ассоциативного массива или строкой.

  • $args (array|string) — Массив аргументов в формате ключ => значение, с которыми будут сравниваться объекты типов записей. По умолчанию: пустой массив.
  • $output (string) — Тип возвращаемого результата. Принимает значения ‘names’ или ‘objects’. По умолчанию: ‘names’.
  • $operator (string) — Логическая операция, которую нужно выполнить. ‘or’ означает, что достаточно, чтобы один элемент из массива соответствовал условиям; ‘and’ означает, что все элементы должны соответствовать условиям; ‘not’ означает, что ни один элемент не должен соответствовать условиям. По умолчанию: ‘and’.

Функция возвращает массив имен или объектов типов записей.


$args = array(
  'public'   => true, // Только публичные типы записей
  'show_ui'  => true, // Показывать интерфейс в админке
  'has_archive' => true // Имеют архивную страницу
);
$post_types = get_post_types( $args, 'objects', 'or' );
foreach ( $post_types as $post_type ) {
  echo '<p>' . $post_type->name . '</p>'; // Выводим имя типа записи
}

В данном примере мы используем функцию get_post_types() для получения всех типов записей, которые удовлетворяют определенным условиям. Мы указываем, что нужно получить только публичные типы записей, которые имеют интерфейс в админке и архивную страницу. Результаты сохраняются в переменную $post_types. Затем мы проходимся по каждому типу записи и выводим его имя.

Примеры использования

Получение списка всех зарегистрированных типов записей


$post_types = get_post_types();
print_r($post_types);

В данном примере мы используем функцию get_post_types() без передачи аргументов. Это позволяет получить список всех зарегистрированных типов записей. Результатом будет массив, содержащий имена всех типов записей.

Получение объектов типов записей с определенными аргументами


$args = array(
    'public' => true,
    'show_in_rest' => true
);
$post_types = get_post_types($args, 'objects');
print_r($post_types);

В данном примере мы передаем аргументы в функцию get_post_types(). В данном случае мы указываем два аргумента: public и show_in_rest. Это позволяет получить объекты типов записей, которые имеют указанные аргументы. Результатом будет массив объектов WP_Post_Type.

Получение имен типов записей с определенным типом вывода


$output = 'names';
$post_types = get_post_types(array(), $output);
print_r($post_types);

В данном примере мы передаем аргумент names в функцию get_post_types(). Это позволяет получить имена типов записей в виде массива строк. Результатом будет массив, содержащий имена всех типов записей.

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


$args = array(
    'public' => true,
    'show_in_rest' => true
);
$operator = 'or';
$post_types = get_post_types($args, 'names', $operator);
print_r($post_types);

В данном примере мы передаем аргументы public и show_in_rest в функцию get_post_types(), а также указываем оператор or. Это позволяет получить имена типов записей, которые удовлетворяют хотя бы одному из указанных аргументов. Результатом будет массив, содержащий имена таких типов записей.

Вопросы и ответы

Как получить список зарегистрированных типов записей?

Для получения списка всех зарегистрированных типов записей в WordPress можно использовать функцию get_post_types(). Она возвращает массив с именами типов записей или объектами типов записей.

Пример использования:


$post_types = get_post_types();

Как получить только имена зарегистрированных типов записей?

Если вам нужно получить только имена зарегистрированных типов записей, вы можете указать второй параметр функции get_post_types() как «names».

Пример использования:


$post_type_names = get_post_types('','names');

Как получить объекты зарегистрированных типов записей?

Если вам нужно получить объекты зарегистрированных типов записей, вы можете указать второй параметр функции get_post_types() как «objects».

Пример использования:


$post_type_objects = get_post_types('','objects');

Как получить список зарегистрированных типов записей с определенными аргументами?

Функция get_post_types() позволяет получить список всех зарегистрированных типов записей в WordPress. Она принимает необязательный аргумент $args, который является массивом или строкой с ключами и значениями для сравнения с объектами типов записей.

Пример использования:


$args = array(
    'public' => true,
    'show_in_nav_menus' => true
);
$post_types = get_post_types($args);

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

Как получить список зарегистрированных типов записей с определенным типом вывода?

Функция get_post_types() также принимает необязательный аргумент $output, который определяет тип вывода. По умолчанию используется значение ‘names’, которое возвращает массив с названиями типов записей.

Пример использования:


$output = 'objects';
$post_types = get_post_types('', $output);

В данном примере мы получаем список всех типов записей в виде объектов.

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

Функция get_post_types() также принимает необязательный аргумент $operator, который определяет логическую операцию для сравнения аргументов. По умолчанию используется значение ‘and’, что означает, что все аргументы должны соответствовать.

Пример использования:


$args = array(
    'public' => true,
    'show_in_nav_menus' => true
);
$operator = 'or';
$post_types = get_post_types($args, 'names', $operator);

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

Как получить список зарегистрированных типов записей, где ни один аргумент не должен соответствовать?

Для этого можно использовать значение ‘not’ для аргумента $operator.

Пример использования:


$args = array(
    'public' => false
);
$operator = 'not';
$post_types = get_post_types($args, 'names', $operator);

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

Функция get_post_types() является мощным инструментом для получения списка зарегистрированных типов записей в WordPress. Она позволяет фильтровать типы записей по различным аргументам и получать результат в нужном формате. Это очень полезно для разработчиков, которые работают с типами записей и хотят получить их список с определенными условиями.

Связанные элементы

  • Функция register_post_type(): регистрирует новый тип записи.
  • Функция unregister_post_type(): отменяет регистрацию типа записи.
  • Функция get_post(): возвращает объект записи по ее идентификатору.
  • Хук registered_post_type: вызывается после успешной регистрации нового типа записи.
  • Хук post_type_labels_{$post_type}: позволяет изменить метки для определенного типа записи.
  • Хук pre_get_posts: позволяет изменить параметры запроса для получения записей определенного типа.
  • Хук the_post: вызывается перед выводом каждой записи определенного типа.
  • Класс WP_Post_Type: представляет тип записи и содержит методы для работы с ним.
  • Класс WP_Query: используется для выполнения запросов к базе данных и получения записей определенного типа.
Обсуждение