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

时间:2015-12-07 09:41:14

标签: wordpress custom-post-type

我创建了一个继承默认类别的自定义帖子类型 videoCourse 我正在寻找一种方法来列出我的所有类别,并链接到每个列出特定类别帖子的页面, 例: 分类名为“Sciences”的链接videoCourses/Sciences

2 个答案:

答案 0 :(得分:0)

https://codex.wordpress.org/Function_Reference/get_category_link

<?php
    // Get the ID of a given category
    $category_id = get_cat_ID( 'Category Name' );

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

<!-- Print a link to this category -->
<a href="<?php echo esc_url( $category_link ); ?>" title="Category Name">Category Name</a>

答案 1 :(得分:0)

我到了谷歌搜索,所以要帮助其他人降落在这里……

使用自定义帖子类型时,您可能必须使用get_termsget_the_terms而不是get_category等。

在此处查看编解码器:get_terms / get_the_terms(查看那些页面底部的代码片段会有所帮助)。

因此,您可以使用类似的内容(从get_terms页复制)列出所有带有术语归档链接的术语,并用点号(·)分隔:

<?php

$args = array( 'hide_empty=0' );

$terms = get_terms( 'my_term', $args );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
    $count = count( $terms );
    $i = 0;
    $term_list = '<p class="my_term-archive">';
    foreach ( $terms as $term ) {
        $i++;
        $term_list .= '<a href="' . esc_url( get_term_link( $term ) ) . '" alt="' . esc_attr( sprintf( __( 'View all post filed under %s', 'my_localization_domain' ), $term->name ) ) . '">' . $term->name . '</a>';
        if ( $count != $i ) {
            $term_list .= ' &middot; ';
        }
        else {
            $term_list .= '</p>';
        }
    }
    echo $term_list;
}

?>