样式WordPress基于自定义帖子类型结果的搜索结果

时间:2013-12-15 22:53:06

标签: php wordpress

在我的网站上,我有一些不同的自定义帖子类型,我已将其显示在搜索结果中。我想知道如何以不同的方式查询/设置每个自定义帖子类型结果。

例如,如果我要进行搜索,从我的博客文章中提取结果,还有我的自定义帖子类型称为卡片,这是一个卡片列表,我想用他们的标题和摘录显示我的文章,但对于我的结果对于我的卡片,我想要显示我将从元数据字段调用的标题和卡片图像。

这究竟是怎么做到的?
你有单独的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>

2 个答案:

答案 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>