我在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;
答案 0 :(得分:0)
我认为您正在寻找此功能。会更短。只需传递post对象,它将返回包含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...
}
答案 1 :(得分:0)
这将在循环中获取帖子类型。
if ( 'page' == get_post_type( get_the_ID() )
最良好的祝愿
米切尔