get_post()
Отримує дані зазначеного або поточного запису (поста). Повертає об’єкт WP_Post .
Вказувати потрібно ID запису, інакше функція поверне поточний запис.
Запис береться за ID, тому тип запису може бути будь-який: вкладення, пост, сторінка, довільний тип. Якщо запис не вказано, функція отримає поточний запис із циклу (відповідний глобальній змінній $post ).
Не плутайте з функцією get_posts() , яка отримує дані кількох записів.
ВАЖЛИВО! get_post() без параметрів повертає глобальний об’єкт $post! Перевірено на WP 6.0.
Наприклад:
global $post; $post = get_post(1); echo $post->post_type; // Post $some_post = get_post(); $some_post->post_type = 'my_post_type'; echo $post->post_type; // my_post_type
Інший приклад. Допустимо у нас вже визначено глобальну змінну $post. Тепер, давайте запустимо такий код:
$mypost = get_post(); $mypost->post_type = 'my_post_type'; global $post; echo $post->post_type; // my_post_type
До WP 3.5 перший параметр міг отримувати лише змінну, пряма передача числа викликала помилку:
// Правильно: передаємо змінну, а чи не число $post_id = 7; $ the_post = get_post ($ post_id); // Невірно (викликає помилку до версії WP 3.5): передаємо число, а не змінну $ the_post = get_post(7);
WP_Post::get_instance()
get_post_parent() ,
get_page_uri() ,
wp_get_post_revision() ,
get_page_template_slug() ,
get_the_ID() ,
comments_open( )
, wp_get_single_post
) ,
get_post_type (
) ,
(повільно) | 50000 разів – 0.25 сек
(дуже швидко) |
PHP 7.2.5, WP 5.0.1
Хуків немає.
Повертає
WP_Post|Массив|null
. Об’єкт WP_Post, якщо вдалося отримати запис і null, при невдачі.
Використання
$post = get_post($post, $output, $filter);
-
$post
(число/WP_Post/null) -
ID посту, дані якого потрібно отримати.
Типово: null (global $post) -
$output
(рядок) Прапор позначає в якому вигляді повернути дані, можливо:
OBJECT
– дані повернуться як об’єктаARRAY_A
– дані повернуться у вигляді асоціативного масивуARRAY_N
– дані повернуться у вигляді простого масиву (без ключів)
Типово: OBJECT
-
$filter
(рядок) -
Як фільтрувати пост. Дивіться опис функції
sanitize_post_field() для повного списку значень. Можливо:
‘raw’ ,
‘edit’ ,
‘db’ , чи
‘display’ .
Типово: raw
Приклади
#1 Повертаються дані
-
ID
(число) - Ідентифікатор запису.
-
post_author
(число) - Ідентифікатор автора запису.
-
post_date
(рядок) - Дата запису у форматі YYYY-MM-DD HH:MM:SS (з урахуванням виправлення часу).
-
post_date_gmt
(рядок) - Дата запису у форматі YYYY-MM-DD HH:MM:SS (час за Грінвічем (GMT)).
-
post_content
(рядок) - Текст запису.
-
post_title
(рядок) - Заголовок запису.
-
post_excerpt
(рядок) - Цитувати запис.
-
post_status
(рядок) - Статут запису, можливо: publish|pending|draft|private|static|object|attachment|inherit|future|trash.
-
comment_status
(рядок) - Можливість коментування для запису може бути: open | closed | registered_only.
-
ping_status
(рядок) - Статус пінгів/трекбеків, можливо: open | closed.
-
post_password
(рядок) - Пароль запису.
-
post_name
(рядок) - Ім’я запису (склад). Назва, яка зазвичай використовується в УРЛ-і.
-
to_ping
(рядок) - УРЛ-и зі статті, на які потрібно надіслати повідомлення під час оновлення посту.
-
pinged
(рядок) - УРЛ зі статті, які вже отримали повідомлення.
-
post_modified
(рядок) - Дата зміни запису у форматі YYYY-MM-DD HH:MM:SS (з урахуванням коригування часу).
-
post_modified_gmt
(число/рядок) - Дата зміни запису у форматі YYYY-MM-DD HH:MM:SS (час за Грінвічем (GMT)).
-
post_parent
(число) - ID батьківської сторінки (відмінно від нуля у прикріплених типів записів).
-
guid
(рядок) - Посилання на запис. Важливо: використовувати цей параметр як постійне посилання для посту неправильно, якщо версія WordPress вище 2.5. Це унікальний ідентифікатор запису, який пізніше став посиланням на запис.
-
menu_order
(число) - Порядковий номер для створення меню (використовується для постійних сторінок).
-
post_type
(рядок) - Тип запису (post|page|attachment).
-
post_mime_type
(рядок) - Міме тип запису (jpg|png|zip|pdf і т.д.). Використовується для записів.
-
comment_count
(число) - Кількість коментарів запису.
#2 Отримуємо дані посту з ідентифікатором 7 і отримуємо заголовок запису:
$post_id_7 = get_post(7); $title = $post_id_7->post_title;
Отримуємо дані посту 7 у вигляді асоціативного масиву і “витягуємо” заголовок з масиву:
$post_id_7 = get_post( 7, ARRAY_A ); $title = $post_id_7['post_title'];
нотатки
- Global. WP_Post. $post Global post об’єкт.
список змін
З версії 1.5.1 | Введено. |