链接到自定义帖子类型类别

时间:2014-07-18 11:33:49

标签: php wordpress

您好我已经制作了自定义帖子类型并为此添加了类别(分类法)。所以我有自定义的帖子类型,称为投资组合,有几个类别,例如:网站,徽标等,我想获得这个类别的链接。我试过这样:

<?php
    // Get the ID of a given category
    $category_id = get_cat_ID( 'Website' );
    $id = get_term_by('name', 'Website', 'portfolio_category');

    // Get the URL of this category
    $category_link = get_category_link( $category_id );

?> 

但它不起作用。如何获取此自定义帖子类型类别的链接。

2 个答案:

答案 0 :(得分:1)

我相信您可以使用WordPress的get_term_link(),如下所示:

$terms = wp_get_post_terms( $post->ID, 'category');
foreach ($terms as $term) :
    echo '<a href="'.get_term_link($term->slug, 'category').'">'.$term->name.'</a>';
endforeach;

答案 1 :(得分:0)

您需要通过pre_get_posts更改类别查询以获取自定义帖子类型。

function wpa_cpt_in_categories( $query ){
    if ( ! is_admin()
        && $query->is_category()
        && $query->is_main_query() ) {
            $query->set( 'post_type', array( 'post', 'portfolio' ) );
        }
}
add_action( 'pre_get_posts', 'wpa_cpt_in_categories' );

您还可以参考here

中的get_term_link
$terms = get_terms('Website');
echo '<ul>';
foreach ($terms as $term) {
    echo '<li><a href="'.get_term_link($term->slug, 'Website').'">'.$term->name.'</a></li>';
}
echo '</ul>';