Custom Post Type by Taxonomy

时间:2014-11-26 作者:certainstrings

我有两种自定义的职位类型-office和professional。每个专业人员都需要与一个办公室联系在一起。我创建了一个自定义分类法“税务位置”,将其应用于这两种帖子类型以将它们联系在一起。

我可以查看ctp for office和professional的每个视图,使用模板single office。php和single professional。php与预期一致。

我现在需要的是在自己的页面上创建一个按office列出专业人员的页面(想想单一office视图的子页面),以及如何动态获取永久链接。我尝试过分类法-$分类法-$slug。php模板,但无法查看以使其正常工作。

===我的解决方案======

最后,我重新访问了分类法模板解决方案。我的分类法slug是tax location,所以我创建了一个分类法tax location。php模板。

为了获取术语链接,我使用get\\u term\\u link()并通过第一个参数传递对象,该参数将我的链接回显到选择字段。

$career_terms = get_terms( \'tax-location\' );
foreach ( $career_terms as $career_term ) {
    $term_link = get_term_link( $career_term, \'tax-location\')
    echo \'<option value="\' . $term_link . \'">\' . $career_term->name . \'</option>\';
}
在这里,我使用javascript将用户跳转到所选链接,该链接将把他们带到分类税位置。php模板。

一旦进入分类税位置。php页面中,我编写了一个函数,将查询页面的术语slug传递给新的WP\\U查询。

// in taxonomy-tax-location.php 
$term = $wp_query->queried_object;
kg_get_careers($term->slug); 

// in functions.php
function kg_get_careers($term_slug = \'\') {

    $career_args = array(
        \'post_type\' => \'career\',
        \'posts_per_page\' => -1,
        \'tax-location\' => $term_slug
    );

    $career_posts = new WP_Query( $career_args );

    if ( $career_posts->have_posts() ) :
        while ( $career_posts->have_posts() ) : $career_posts->the_post();
            get_template_part( \'library/partials/part\', \'careers-list\' );
        endwhile;

    else: 

    echo \'No Content\';

    endif;

    wp_reset_postdata();
}
我的解决方案有点冗长,我相信还有改进的余地,但目前它仍然有效。

1 个回复
SO网友:Paul Geisler

您可以使用插件CPT-onomies. 它使您能够将cpt office设置为专业人员的分类法。

结束

相关推荐