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 лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: