get_post_type() — возвращает тип указанного поста

В случае успеха возвращает тип поста (строка), в случае неудачи, например, если пост с указанным ID не существует, возвращает логическое false.

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

get_post_type( $post = null )
$post
(целое число|строка|объект) ID или объект поста, по умолчанию — текущий пост (использует глобальную переменную $post).

Примеры

Предположим, что на вашем сайте еще осталась запись «Привет, мир!» с ID=1, протестируем функцию на ней:

echo get_post_type( 1 ); // post

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

$q = new WP_Query('posts_per_page=-1&post_type=any');
if($q->have_posts()) :
	echo '<table><tr><th>ID</th><th>Тип поста</th></tr>';
	while($q->have_posts()) : $q->the_post();
		echo '<tr><td>' . $q->post->ID . '</td><td>' . get_post_type( $q->post->ID ) . '</td></tr>';
	endwhile;
	echo '</table>';
endif;

Вот такая таблица получилась у меня на тестовом сайте, на теме Twenty Ten:

результат действия функции get_post_type в цикле

Как видите, на том тестовом сайте у меня нет каких-либо произвольных типов постов — только несколько страниц и одна запись.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, в случае несоблюдения этого условия в 99% случаях ваш коммент будет удалён, а автор заблокирован. Печалька.