get_post()

Извлекает данные записи по ее ID или объекту записи
Функция WordPress
INT 1.5.1
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение данных о посте по ID
  4. Извлечение данных о посте в виде объекта
  5. Извлечение данных о посте в виде ассоциативного массива
  6. Извлечение данных о посте в виде числового массива
  7. Применение фильтра к данным о посте
  8. Использование глобального поста внутри цикла
  9. Вопросы и ответы
  10. Как получить данные поста по его ID?
  11. Как получить данные поста по объекту поста?
  12. Как получить данные текущего глобального поста внутри цикла?
  13. Что возвращает функция get_post()?
  14. Какой тип данных возвращается при использовании параметра $output = OBJECT?
  15. Какой тип данных возвращается при использовании параметра $output = ARRAY_A?
  16. Функция get_post()
  17. Какой тип данных возвращается при использовании параметра $output = ARRAY_N?
  18. Какой тип фильтра можно применить с помощью параметра $filter?
  19. Какой тип фильтра применяется по умолчанию?
  20. Связанные элементы

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

Функция get_post() используется для получения данных о записи (посте) по заданному идентификатору записи или объекту записи.

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

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

get_post( int|WP_Post|null $post = null, string $output = OBJECT, string $filter = 'raw' ): WP_Post|array|null

В данном примере функция get_post() принимает три параметра: $post, $output и $filter.

$post — опциональный параметр, который принимает идентификатор записи или объект записи. Если передано значение null, false, 0 или другое ложное значение PHP, то функция вернет текущую глобальную запись внутри цикла. Если передано числовое значение идентификатора записи, которое указывает на несуществующую запись, функция вернет null. По умолчанию используется глобальная переменная $post.

$output — опциональный параметр, который определяет тип возвращаемых данных. Возможные значения: OBJECT (объект WP_Post), ARRAY_A (ассоциативный массив) или ARRAY_N (числовой массив). По умолчанию используется OBJECT.

$filter — опциональный параметр, который определяет тип фильтрации данных. Возможные значения: raw, edit, db или display. По умолчанию используется raw.

Функция возвращает данные о записи в соответствии с указанным типом возвращаемых данных ($output). В случае успеха возвращается объект WP_Post или массив, иначе возвращается null.

<?php
$post_id = 123; // Идентификатор записи
// Получение объекта записи
$post_object = get_post( $post_id );
// Получение ассоциативного массива данных о записи
$post_array = get_post( $post_id, 'ARRAY_A' );
// Получение числового массива данных о записи
$post_numeric_array = get_post( $post_id, 'ARRAY_N' );
// Вывод данных о записи
echo 'Заголовок: ' . $post_object->post_title;
echo 'Автор: ' . $post_array['post_author'];
echo 'Содержимое: ' . $post_numeric_array[0];
?>

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

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

Получение данных о посте по ID


$post_id = 123;
$post = get_post($post_id);
if ($post) {
    // Данные о посте доступны в объекте $post
    echo $post->post_title;
    echo $post->post_content;
} else {
    echo 'Пост не найден';
}

Извлечение данных о посте в виде объекта


$post_id = 123;
$post = get_post($post_id, OBJECT);
if ($post) {
    // Данные о посте доступны в объекте $post
    echo $post->post_title;
    echo $post->post_content;
} else {
    echo 'Пост не найден';
}

Извлечение данных о посте в виде ассоциативного массива


$post_id = 123;
$post = get_post($post_id, ARRAY_A);
if ($post) {
    // Данные о посте доступны в виде ассоциативного массива $post
    echo $post['post_title'];
    echo $post['post_content'];
} else {
    echo 'Пост не найден';
}

Извлечение данных о посте в виде числового массива


$post_id = 123;
$post = get_post($post_id, ARRAY_N);
if ($post) {
    // Данные о посте доступны в виде числового массива $post
    echo $post[0]; // Заголовок поста
    echo $post[1]; // Содержимое поста
} else {
    echo 'Пост не найден';
}

Применение фильтра к данным о посте


$post_id = 123;
$post = get_post($post_id, OBJECT, 'edit');
if ($post) {
    // Данные о посте доступны в объекте $post после применения фильтра 'edit'
    echo $post->post_title;
    echo $post->post_content;
} else {
    echo 'Пост не найден';
}

Использование глобального поста внутри цикла


while (have_posts()) {
    the_post();
    $post = get_post();
    if ($post) {
        // Данные о текущем посте доступны в объекте $post
        echo $post->post_title;
        echo $post->post_content;
    } else {
        echo 'Пост не найден';
    }
}

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

Как получить данные поста по его ID?

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

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


$post_id = 123; // ID поста
$post = get_post( $post_id ); // Получение данных поста

Как получить данные поста по объекту поста?

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

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


$post_object = get_post(); // Получение текущего глобального поста
$post = get_post( $post_object ); // Получение данных поста

Как получить данные текущего глобального поста внутри цикла?

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

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


$post = get_post(); // Получение текущего глобального поста

Функция get_post() возвращает объект типа WP_Post или массив, в зависимости от указанного типа возвращаемого значения. Если тип указан как OBJECT, то возвращается экземпляр класса WP_Post.

Параметр $filter позволяет применить фильтр к полученным данным. Доступны следующие значения: 'raw', 'edit', 'db' и 'display'.

В итоге, функция get_post() позволяет получить данные поста по его ID или объекту поста, а также получить данные текущего глобального поста внутри цикла. Это очень удобно для работы с постами в WordPress.

Что возвращает функция get_post()?

Функция get_post() возвращает данные о посте, основываясь на указанном ID или объекте поста. В случае успеха, функция возвращает объект WP_Post или массив, в зависимости от указанного параметра $output. В случае неудачи, функция возвращает null.

Какой тип данных возвращается при использовании параметра $output = OBJECT?

При использовании параметра $output = OBJECT, функция возвращает объект WP_Post. Этот объект содержит информацию о посте, такую как ID, заголовок, содержимое, автор и другие свойства.


$post = get_post(1, OBJECT);
if ($post instanceof WP_Post) {
    echo $post->post_title;
}

Какой тип данных возвращается при использовании параметра $output = ARRAY_A?

При использовании параметра $output = ARRAY_A, функция возвращает ассоциативный массив, содержащий информацию о посте. Ключи массива соответствуют свойствам поста, таким как ‘ID’, ‘post_title’, ‘post_content’ и т.д.


$post = get_post(1, ARRAY_A);
if (is_array($post)) {
    echo $post['post_title'];
}

Функция get_post()

Функция get_post() используется для получения данных о посте по его ID или объекту поста. Она возвращает объект типа WP_Post, а также может возвращать массив или null в зависимости от переданных параметров.

Какой тип данных возвращается при использовании параметра $output = ARRAY_N?

При использовании параметра $output = ARRAY_N функция get_post() возвращает числовой массив, содержащий данные о посте. Каждый элемент массива представляет собой отдельное поле поста.


$post_data = get_post(123, 'ARRAY_N');
/*
$post_data = array(
    0 => '123', // ID поста
    1 => '2022-01-01 12:00:00', // Дата и время создания поста
    2 => '2022-01-01 12:30:00', // Дата и время последнего изменения поста
    3 => 'Hello World', // Заголовок поста
    4 => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', // Содержимое поста
    ...
);
*/

Какой тип фильтра можно применить с помощью параметра $filter?

Параметр $filter позволяет применить различные типы фильтров к данным поста. Возможные значения параметра $filter:

  • ‘raw’: возвращает данные поста без применения каких-либо фильтров;
  • ‘edit’: применяет фильтры, используемые при редактировании поста;
  • ‘db’: применяет фильтры, используемые при сохранении данных поста в базе данных;
  • ‘display’: применяет фильтры, используемые при отображении данных поста.

Какой тип фильтра применяется по умолчанию?

По умолчанию, если параметр $filter не указан, функция get_post() применяет фильтр типа ‘raw’. Это означает, что возвращаемые данные поста не проходят никаких фильтров и представляют собой «сырые» данные.

Заключение

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

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

  • Функция get_post_field(): возвращает значение указанного поля поста.
  • Функция get_post_meta(): возвращает значение мета-поля указанного поста.
  • Функция get_post_type(): возвращает тип указанного поста.
  • Функция get_post_status(): возвращает статус указанного поста.
  • Функция get_post_permalink(): возвращает постоянную ссылку на указанный пост.
  • Функция get_post_thumbnail_id(): возвращает ID изображения, прикрепленного к указанному посту в качестве миниатюры.
  • Функция get_post_format(): возвращает формат указанного поста.
  • Хук pre_get_posts: позволяет изменять параметры запроса перед получением постов.
  • Хук the_post: вызывается при выводе каждого поста в цикле.
  • Класс WP_Post: представляет объект поста в WordPress.
Обсуждение