wordpress 后台自定义类型的文章列表显示自定义分类的名字
注册了wordpress的自定义文章类型,也注册了自定义文章的分类和标签,需要把分类和标签显示到自定义类型的文章列表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | add_filter('manage_edit-article_columns', 'my_columns'); function my_columns($columns) { $columns['article_category'] = 'Category'; return $columns; } add_action( 'manage_article_posts_custom_column', 'my_manage_article_columns', 10, 2 ); function my_manage_article_columns( $column, $post_id ) { global $post; switch( $column ) { /* If displaying the 'article_category' column. */ case 'article_category' : /* Get the genres for the post. */ $terms = get_the_terms( $post_id, 'article_category' ); /* If terms were found. */ if ( !empty( $terms ) ) { $out = array(); /* Loop through each term, linking to the 'edit posts' page for the specific term. */ foreach ( $terms as $term ) { $out[] = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'article_category' => $term->slug ), 'edit.php' ) ), esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'article_category', 'display' ) ) ); } /* Join the terms, separating them with a comma. */ echo join( ', ', $out ); } /* If no terms were found, output a default message. */ else { _e( 'No Articles' ); } break; /* Just break out of the switch statement for everything else. */ default : break; } } |
参考:
1、https://justintadlock.com/archives/2011/06/27/custom-columns-for-custom-post-types
2、https://wordpress.stackexchange.com/questions/116115/adding-the-category-to-the-admin-column-for-a-custom-post-type