Как получить текущее имя get_post_types?

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

6 голосов | спросил Casper 25 22014vEurope/Moscow11bEurope/MoscowTue, 25 Nov 2014 21:19:52 +0300 2014, 21:19:52

2 ответа


15

Вам понадобится объект post каким-либо образом или, альтернативно, запрошенный объект для архивов типа post. На единственной странице, которую вы можете сделать:

$post = get_queried_object();
$postType = get_post_type_object(get_post_type($post));
if ($postType) {
    echo esc_html($postType->labels->singular_name);
}

Или в цикле:

$postType = get_post_type_object(get_post_type());
if ($postType) {
    echo esc_html($postType->labels->singular_name);
}

В архивах post type:

$postType = get_queried_object();
echo esc_html($postType->labels->singular_name);

Все это даст вам уникальное имя типа сообщения, которое было зарегистрировано в register_post_type 'labels.

ответил chrisguitarguy 25 22014vEurope/Moscow11bEurope/MoscowTue, 25 Nov 2014 21:48:41 +0300 2014, 21:48:41
3

Чтобы получить имя текущего типа сообщения, используйте следующий код внутри цикла.

$post_type = get_post_type( get_the_ID() );
echo '<p>' . $post_type . '</p>';

или отобразить имя типа сообщения с помощью функции printf.

printf( __( 'The post type is: %s', 'textdomain' ), get_post_type( get_the_ID() ) );
ответил Aamer Shahzad 23 Jam1000000amMon, 23 Jan 2017 09:20:38 +030017 2017, 09:20:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132