如何在侧边栏中显示 cpt 类别?

How to display cpt categories in sidebar?

我想在cpt侧边栏显示我的cpt分类,我的代码如下

//add custom menus
function codex_custom_init() {
    register_post_type(
    'Jobs', array(
    'labels' => array('name' => __( 'Jobs' ), 'singular_name' => __( 'Jobs' ) ),
    'public' => true,
    'has_archive' => true,
    'supports' => array('title', 'editor', 'thumbnail'),
    'menu_icon' => 'dashicons-calendar-alt',
    'show_in_rest' => 'true'
     )
     );
}
add_action( 'init', 'codex_custom_init' );

function jobs_create_my_taxonomy() {

    register_taxonomy(
        'jobs-category',
        'jobs',
        array(
            'label' => __( 'Category' ),
            'rewrite' => array( 'slug' => 'jobs-category' ),
            'hierarchical' => true,
            'show_in_rest' => 'true'
        )
    );
}
add_action( 'init', 'jobs_create_my_taxonomy' );

我需要在带有类别链接的边栏中显示 cpt 类别。

您可以使用 add_shortcodeget_terms。将 show_category 添加到边栏。

function show_category(){

    $jobs_category = get_terms( array(
        'taxonomy' => 'jobs-category',
        'hide_empty' => false
    ) );
     
    if ( !empty( $jobs_category ) ) {
        $output = '<ul>';
            foreach( $jobs_category as $category ) {
                $output.= '<li><a href="'.get_term_link( $category ).'">'. esc_attr( $category->name ) .'</a></li>';    
            }
        $output.= '</ul>';
        echo $output;
    }

}

add_shortcode( 'show_category', 'show_category' );