Home News

Get_post() - функция WordPress

02.09.2018

видео get_post() - функция WordPress

Функции и классы Wordpress - Плейлист

Возвращает всю инфу, содержащуюся в базе данных (таблица wp_posts) об указанном в параметрах посте (любого типа, то есть это может быть страница page, запись post или какой-либо произвольный тип записи).



get_post ( $post = null , $output = OBJECT, $filter = 'raw' ) ;
$post (целое число|объект) ID конкретного поста или его объект, по умолчанию — текущий пост $output (строка) формат получаемых данных: OBJECT — в виде объекта, ARRAY_A — ассоциативный массив, ARRAY_N — нумерованный массив; $filter (строка)

Параметры объекта поста WP_Post

То есть в этом случае $output = OBJECT. Каждый из параметров соответствует столбцу из таблицы MySQL.


Функция wp_list_pluck() - уроки по Wordpress

ID (целое число) ID поста post_author (целое число) ID автора поста post_date (строка) дата и время публикации поста в формате YYYY-MM-DD HH:MM:SS post_date_gmt (строка) дата и время (GMT) публикации поста в формате YYYY-MM-DD HH:MM:SS post_content (строка) контент (содержимое) поста post_title (строка) заголовок post_category (строка) по идее это ID рубрики, к которой относится пост, однако с версии WordPress 2.1 всегда равно 0, чтобы определить рубрики, воспользуйтесь функцией get_the_category() . post_excerpt (строка) содержимое поля «Цитата» post_status (строка) статус поста comment_status (строка) настройки комментирования ping_status (строка) разрешены ли трэкбэки и пингбэки post_password (строка) пароль к посту post_name (строка) ярлык поста to_ping (строка) URL для пинга pinged (строка) URL, которые уже пингнуты post_modified (строка) дата и время последнего обновления(редактирования) поста в формате YYYY-MM-DD HH:MM:SS post_modified_gmt (строка) дата и время GMT последнего обновления(редактирования) поста в формате YYYY-MM-DD HH:MM:SS post_content_filtered (строка) post_parent (целое число) ID родительского поста (например для вложений или страниц) guid (строка) ссылка на пост вида https://misha.blog/?p=8542 menu_order (целое число) post_type (строка) тип поста post_mime_type (строка) MIME тип (для вложений) comment_count (целое число) количество комментариев к посту

Теперь возьмем для примера пост про WP_Query и выведем всю инфу о нем. Если к параметру не оставлено комментариев в этом листинге кода — значит он пустой для данного поста, post_content я разумеется сократил.


Пишем шорткод вывода статей по ID

echo $post -> ID ; // 1285 echo $post -> post_author ; // 1 echo $post -> post_date ; // 2012-12-09 05:55:07 echo $post -> post_date_gmt ; // 2012-12-09 01:55:07 echo $post -> post_content ; // Про класс WP_Query можно сказать в двух словах - бла бла бла echo $post -> post_title ; // WP_Query(), описание класса, параметры print_r ( $post -> post_category ) ; // Array ( [3] => 3 ) echo $post -> post_excerpt ; echo $post -> post_status ; // publish echo $post -> comment_status ; // open echo $post -> ping_status ; // open echo $post -> post_password ; echo $post -> post_name ; // wp_query echo $post -> to_ping ; echo $post -> pinged ; echo $post -> post_modified ; // 2012-12-09 12:46:24 echo $post -> post_modified_gmt ; // 2012-12-09 08:46:24 echo $post -> post_content_filtered ; echo $post -> post_parent ; // 0 echo $post -> guid ; // https://misha.blog/blog/?p=1285 echo $post -> menu_order ; // 0 echo $post -> post_type ; // post echo $post -> post_mime_type ; // echo $post -> comment_count ; // 18

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

Предлагаю разобраться с форматом вывода. Итак, зная ID поста, выведем например его статус и заголовок. Пример, когда возвращается объект:

$my_post = get_post ( 5 ) ; echo $my_post -> post_status ; echo $my_post -> post_title ;

Ассоциативный массив:

$my_post = get_post ( 5 , ARRAY_A ) ; echo $my_post [ 'post_status' ] ; echo $my_post [ 'post_title' ] ;

В случае с нумерованным массивом нужно заранее знать индексы соответствующих значений. Их можно выяснить например при помощи php-функции print_r().

$my_post = get_post ( 5 , ARRAY_N ) ; echo $my_post [ 7 ] ; echo $my_post [ 11 ] ;

Важно: указывать ID поста в виде целого числа стало возможно только после версии WordPress 3.5. До этого ID поста нужно было передавать только в переменной, то есть:

$post = 5 ; $my_post = get_post ( $post ) ;
rss