在我的网站上,我有一些不同的自定义帖子类型,我已将其显示在搜索结果中。我想知道如何以不同的方式查询/设置每个自定义帖子类型结果。
例如,如果我要进行搜索,从我的博客文章中提取结果,还有我的自定义帖子类型称为卡片,这是一个卡片列表,我想用他们的标题和摘录显示我的文章,但对于我的结果对于我的卡片,我想要显示我将从元数据字段调用的标题和卡片图像。
这究竟是怎么做到的?
你有单独的WP_Query还是你会在默认搜索循环中使用if语句?如果是这样,我如何判断帖子的自定义帖子类型是什么。
这是我对WordPress搜索结果的默认循环。
<?php while ( have_posts() ) : the_post(); ?>
<li>
<article>
<h2><a href="<?php esc_url( the_permalink() ); ?>" title="Permalink to <?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<time datetime="<?php the_time( 'Y-m-d' ); ?>" pubdate><?php the_date(); ?> <?php the_time(); ?></time> <?php comments_popup_link('Leave a Comment', '1 Comment', '% Comments'); ?>
<?php the_content(); ?>
</article>
</li>
答案 0 :(得分:1)
您可以通过$post->post_type
::
you can go through below code, just edit with your post types::
<?php while ( have_posts() ) : the_post(); ?>
<li>
<?php
if ($post->post_type == "cards") {
//do fancy things
}
if ($post->post_type == "mycards") {
//do fancy things
}
else {
//otherwise just sit
}
<article>
<h2><a href="<?php esc_url( the_permalink() ); ?>" title="Permalink to <?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<time datetime="<?php the_time( 'Y-m-d' ); ?>" pubdate><?php the_date(); ?> <?php the_time(); ?></time> <?php comments_popup_link('Leave a Comment', '1 Comment', '% Comments'); ?>
<?php the_content(); ?>
</article>
?>
</li>
感谢
答案 1 :(得分:-1)
是的,您可以在if
循环中使用while
条件。
<?php while ( have_posts() ) : the_post(); ?>
<li>
<?php
if ($post->post_type == "card") {
//do fancy things
}
else {
//otherwise just sit
}
?>
<article>
<h2><a href="<?php esc_url( the_permalink() ); ?>" title="Permalink to <?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<time datetime="<?php the_time( 'Y-m-d' ); ?>" pubdate><?php the_date(); ?> <?php the_time(); ?></time> <?php comments_popup_link('Leave a Comment', '1 Comment', '% Comments'); ?>
<?php the_content(); ?>
</article>
</li>