get_post_type()

Извлекает тип записи текущей записи или заданной записи
Функция WordPress
INT 2.1.0
WordPress Icon

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

Функция get_post_type() возвращает тип записи текущей записи или заданной записи.

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

Функция возвращает строку с типом записи в случае успеха или false в случае ошибки.

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

get_post_type( int|WP_Post|null $post = null ): string|false

Функция get_post_type() принимает один необязательный параметр:

  • $post (int|WP_Post|null) — Необязательный. Идентификатор или объект записи. По умолчанию используется глобальная переменная $post. Значение по умолчанию: null.

Функция возвращает строку с типом записи в случае успеха или false в случае ошибки.


$post_id = 123; // Идентификатор записи
$post_type = get_post_type( $post_id ); // Получаем тип записи по идентификатору
if ( $post_type ) {
  echo 'Тип записи: ' . $post_type;
} else {
  echo 'Ошибка при получении типа записи';
}

В данном примере мы получаем тип записи по заданному идентификатору записи. Если тип записи успешно получен, выводим его на экран. В противном случае выводим сообщение об ошибке.

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

Получение типа поста текущего поста


$post_type = get_post_type();
echo $post_type;

В этом примере мы используем функцию get_post_type() без параметров, чтобы получить тип текущего поста. Результат будет выведен на экран.

Определение типа поста по ID


$post_id = 123;
$post_type = get_post_type($post_id);
echo $post_type;

В этом примере мы передаем ID поста в функцию get_post_type(), чтобы получить его тип. Результат будет выведен на экран.

Получение типа поста по объекту поста


$post = get_post(123);
$post_type = get_post_type($post);
echo $post_type;

В этом примере мы передаем объект поста в функцию get_post_type(), чтобы получить его тип. Результат будет выведен на экран.

Проверка наличия типа поста


$post_type = get_post_type();
if ($post_type) {
    echo "Post type exists";
} else {
    echo "Post type does not exist";
}

В этом примере мы используем функцию get_post_type() без параметров, чтобы проверить наличие типа текущего поста. Если тип существует, будет выведено «Post type exists», в противном случае — «Post type does not exist».

Получение типа поста по умолчанию


$post_type = get_post_type();
if (!$post_type) {
    $post_type = 'post';
}
echo $post_type;

В этом примере мы используем функцию get_post_type() без параметров, чтобы получить тип текущего поста. Если тип не определен, мы устанавливаем значение по умолчанию «post». Результат будет выведен на экран.

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

Как получить тип записи текущего поста?

Для получения типа записи текущего поста в WordPress используется функция get_post_type(). Эта функция возвращает строку с типом записи или false в случае ошибки.

Для получения типа записи текущего поста необходимо вызвать функцию get_post_type() без аргументов:


$post_type = get_post_type();

Как получить тип записи для определенного поста?

Если требуется получить тип записи для определенного поста, не являющегося текущим, необходимо передать его ID или объект в качестве аргумента функции get_post_type().

Например, для получения типа записи поста с ID 42:


$post_type = get_post_type(42);

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


$post = get_post(42);
$post_type = get_post_type($post);

Как проверить, является ли тип записи определенным?

Для проверки, является ли тип записи определенным, можно использовать условное выражение с функцией get_post_type().

Например, для проверки, является ли текущий пост типом «page»:


if (get_post_type() === 'page') {
    // Действия, если тип записи "page"
} else {
    // Действия, если тип записи не "page"
}

Также можно проверить тип записи для определенного поста:


if (get_post_type(42) === 'page') {
    // Действия, если тип записи "page"
} else {
    // Действия, если тип записи не "page"
}

Как получить тип записи поста, используя его ID?

Функция get_post_type() позволяет получить тип записи поста, используя его ID. Для этого нужно передать ID поста в качестве аргумента функции.


$post_id = 123; // ID поста
$post_type = get_post_type($post_id); // получение типа записи поста
if ($post_type) {
    echo 'Тип записи: ' . $post_type;
} else {
    echo 'Не удалось получить тип записи';
}

Как получить тип записи поста, используя объект поста?

Функция get_post_type() также позволяет получить тип записи поста, используя объект поста. Для этого нужно передать объект поста в качестве аргумента функции.


$post = get_post(123); // получение объекта поста
$post_type = get_post_type($post); // получение типа записи поста
if ($post_type) {
    echo 'Тип записи: ' . $post_type;
} else {
    echo 'Не удалось получить тип записи';
}

Как обработать ситуацию, когда функция get_post_type() возвращает false?

Если функция get_post_type() возвращает false, это означает, что не удалось получить тип записи поста. В таком случае можно выполнить дополнительные действия или вывести сообщение об ошибке.


$post_id = 123; // ID поста
$post_type = get_post_type($post_id); // получение типа записи поста
if ($post_type) {
    echo 'Тип записи: ' . $post_type;
} else {
    echo 'Не удалось получить тип записи';
    // Дополнительные действия при ошибке
}

Как использовать результат функции get_post_type() в условных выражениях?

Функция get_post_type() возвращает тип записи текущего поста или заданного поста. Результатом функции является строка с типом записи или false в случае ошибки.

Для использования результата функции get_post_type() в условных выражениях, можно проверить его на равенство определенному типу записи с помощью оператора ==.


$post_type = get_post_type();
if ($post_type == 'post') {
    // Код, выполняемый для типа записи "post"
} elseif ($post_type == 'page') {
    // Код, выполняемый для типа записи "page"
} else {
    // Код, выполняемый для других типов записей
}

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

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


$post_types = get_post_types();
foreach ($post_types as $post_type) {
    echo $post_type . '<br>';
}

Как изменить тип записи для определенного поста?

Для изменения типа записи для определенного поста в WordPress можно воспользоваться функцией set_post_type(). Эта функция принимает два параметра: идентификатор поста и новый тип записи.


$post_id = 123;
$new_post_type = 'page';
$result = set_post_type($post_id, $new_post_type);
if (is_wp_error($result)) {
    echo 'Ошибка: ' . $result->get_error_message();
} else {
    echo 'Тип записи изменен успешно.';
}

Функция get_post_type() позволяет получить тип записи текущего поста или заданного поста. Результатом функции является строка с типом записи или false в случае ошибки. Результат можно использовать в условных выражениях для выполнения определенного кода в зависимости от типа записи. Также с помощью функций get_post_types() и set_post_type() можно получить список всех доступных типов записей и изменить тип записи для определенного поста соответственно.

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

  • Функция get_post_type_object(): Возвращает объект типа записи по его имени.
  • Функция get_post_types(): Возвращает массив всех зарегистрированных типов записей.
  • Функция register_post_type(): Регистрирует новый тип записи.
  • Хук post_type_link: Позволяет изменить URL записи перед его выводом.
  • Хук post_type_archive_link: Позволяет изменить URL архива записей перед его выводом.
  • Хук post_type_labels_{$post_type}: Позволяет изменить метки типа записи.
  • Хук post_type_archive_title: Позволяет изменить заголовок архива записей перед его выводом.
  • Класс WP_Post_Type: Представляет тип записи и содержит методы для работы с ним.
Обсуждение