我想与团队成员建立一个页面。因为我的成员太多了,所以我想按部门对他们进行分组。因此,我创建了一个自定义帖子类型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; ?>
这一切都很好,但正如您所看到的,这段代码显示了所有团队成员,无论他们在哪个部门。
有人能帮我处理这件事吗?我想有一个页面模板上的团队成员的不同部门。我必须使用哪些功能。
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