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

时间:2013-12-15 17:57:06

标签: wordpress

我有一个名为'grhdogs'的自定义帖子类型。问题是WordPress search.php中的循环样式化自定义帖子类型,就像在帖子或页面上正常点击一样。我想使用不同的模板部分设置自定义帖子类型搜索结果的样式。我怎样才能做到这一点?它说自己普通的帖子和页面应该得到默认的模板部分(内容,搜索)。

这是循环...

        <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
                    <?php get_template_part( 'content', 'search' ); ?>      
                <?php endwhile; ?>

            <?php else : ?>
                <?php get_template_part( 'content', 'none' ); ?>
            <?php endif; ?>

            <?php wplook_content_navigation('postnav' ) ?>

我想用于自定义帖子类型'grhdogs'的模板部分是:

<?php get_template_part( 'search', 'grhdogs' ); ?>

1 个答案:

答案 0 :(得分:3)

您应该通过使用get_post_type()函数 -

比较帖子类型来包含模板部分
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
    <?php // so if the current post type is your custom post type ?>
    <?php if( 'grhdogs' == get_post_type() ): ?>      
        <?php get_template_part( 'search', 'grhdogs' ); ?>
    <?php // for any other post type ?>
    <?php else : ?>
        <?php get_template_part( 'content', 'search' ); ?>      
    <?php endif; ?>
<?php endwhile; ?>

<?php else : ?>
    <?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>

<?php wplook_content_navigation('postnav' ) ?>

此外,为了包含基于帖子类型和当前对象页面的单独模板文件,动态方法是 -

<?php $query_type = 'search'; // pv: archive, author, category ?>
<?php $post_type = get_post_type(); // pv: post, custom post type ?>

<?php get_template_part( $query_type, $post_type ); ?> 

然后示例模板文件名为 - 'search-post.php'

** pv =可能值