Получить тип сообщения в цикле поиска Wordpress - PullRequest
0 голосов
/ 01 января 2019

Я использую цикл в своем файле search.php для циклического просмотра результатов и отображения их названия.

Это прекрасно работает, но я бы хотел проверить для каждого результата, является ли этостраница или пост.Следующий код не работает.

if ( have_posts() ) : ?>

    <h1 class="page-title"><?php printf( __( 'Results for: %s', 'domain' ), '<span>' . get_search_query() . '</span>' ); ?></h1>

    <?php while ( have_posts() ) : the_post();

        $title = get_the_title();

        echo '<article class="post-card">';

            if ( is_page() ) {
                echo 'page';
            } else if ( is_singular('post') ) {
                echo 'post';
            }

            echo '<h2>' .$title. '</h2>';
        echo '</article>';

    endwhile; ?>

<?php endif;

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Будет получен тип сообщения в цикле.

if ( 'page' == get_post_type( get_the_ID() )

С наилучшими пожеланиями,

Митчелл

0 голосов
/ 01 января 2019

Я думаю, что вы ищете эту функцию.Будет короче.Просто передайте объект post, и он вернет строку, содержащую тип записи.

get_post_type (int | WP_Post | null $ post = null)

 $somePost; // post
 $postType = get_post_type($somePost);

 if ('page' === $postType) { 
    // page...
 }
 elseif ('post' === $postType { 
    // post...
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...