使用分类显示自定义帖子类型

时间:2014-05-06 作者:Niels Jansen

我想与团队成员建立一个页面。因为我的成员太多了,所以我想按部门对他们进行分组。因此,我创建了一个自定义帖子类型TEAM 具有taxonomy by department

我使用以下代码显示团队成员。我创建了一个新的页面模板。

 <?php 
$team_posts = get_posts( array(
    \'post_type\' => \'team\',
    \'posts_per_page\' => -1, // Unlimited posts
    \'orderby\' => \'title\', // Order alphabetically by name
) );

    foreach ( $team_posts as $post ): 
    setup_postdata($post);

    $thumb_src = null;
    if ( has_post_thumbnail($post->ID) ) {
        $src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), \'team-thumb\' );
        $thumb_src = $src[0];
    }
    ?>
    <article class="seven columns team_lid">
        <div class="tm_header">
            <?php if ( $thumb_src ): ?>
            <img src="<?php echo $thumb_src; ?>" alt="<?php the_title(); ?>, <?php the_field(\'team_position\'); ?>" class="img-circle">
            <?php endif; ?>
        </div>

        <div class="tm-content">
            <h3><?php the_title(); ?></h3>
            <p class="lead position"><?php the_field(\'team_position\'); ?></p>
            <i class="fa fa-mobile contact_icoon"></i><?php the_field(\'team_phone\'); ?><br/>
            <i class="fa fa-mobile contact_icoon"></i><?php the_field(\'mobile_phone\'); ?><br/>

            <i class="fa fa-envelope contact_icoon"></i><a href="<?php the_field(\'team_email\'); ?>"><?php the_field(\'team_email\'); ?></a>
            <div class="content_tekst">
            <?php the_content(); ?>
            </div>
        </div>
    </article><!-- END seven columns -->
    <?php endforeach; ?>
这一切都很好,但正如您所看到的,这段代码显示了所有团队成员,无论他们在哪个部门。

有人能帮我处理这件事吗?我想有一个页面模板上的团队成员的不同部门。我必须使用哪些功能。

1 个回复
SO网友:Anirudh babbar

遵循以下步骤。

将以下代码添加到函数中。php

 add_shortcode( \'list-team\', \'list_team_members\' );
function list_team_members( $atts ) {
    ob_start();

    // define attributes and their defaults
    extract( shortcode_atts( array (
        \'type\' => \'post\',
        \'posts\' => 5,
        \'category\' => \'\',
    ), $atts ) );

    // define query parameters based on attributes
    $options = array(
        \'post_type\' => $type,
        \'posts_per_page\' => $posts,
        \'category_name\' => $category,
    );
    $query = new WP_Query( $options );
    // run the loop based on the query
    if ( $query->have_posts() ) { ?>
        <ul class="">
            <ul class="">
                <li id="post-<?php the_ID(); ?>">></li>
            </ul>
        </ul>
    <?php
        $myvariable = ob_get_clean();
        return $myvariable;
    }
}
然后致电任何部门-[列出团队类别=”]

您不需要为此创建特定的模板文件。。。

短代码就可以了。。

我写这篇文章有点匆忙。。。

您可以在以下位置获取完整代码:http://code.tutsplus.com/tutorials/create-a-shortcode-to-list-posts-with-multiple-parameters--wp-32199

结束

相关推荐