Benutzerdefinierte Beitragspostspalte – Kategorie wird nicht angezeigt

Ich habe einem benutzerdefinierten Beitragstyp eine benutzerdefinierte Spalte hinzugefügt:

add_filter('manage_posts_columns', 'custom_columns', 10); add_action('manage_posts_custom_column', 'custom_columns_thumb', 10, 2); function custom_columns($columns) { $columns = array( 'cb' => '', 'title' => 'Title', 'categories' => 'Categories', // not showing 'thumb' => __('Thumb'), 'date' => __( 'Date' ) ); return $columns; } function custom_columns_thumb($column_name, $id){ if($column_name === 'thumb') { echo the_post_thumbnail( 'thumb' ); } } 

Die benutzerdefinierte Spalte “thumb” wird ordnungsgemäß angezeigt, aber die Kategorie wird nicht mehr angezeigt. Bitte siehe Bild.

Bildbeschreibung hier eingeben

Was verursacht das? Die Kategorien zeigen, wenn ich die benutzerdefinierten Spalten entfernen.

Solutions Collecting From Web of "Benutzerdefinierte Beitragspostspalte – Kategorie wird nicht angezeigt"

Hier habe ich diesen Code getestet und es funktioniert gut und Schritte hier.

  1. Ich erstelle gerade ein dummy custom_post_type hier book mit dem folgenden Code.

      function kv_custom_post_books() { $args = array( 'public' => true, 'label' => 'Books', 'taxonomies' => array('category', 'post_tag') , 'supports' => array( 'title', 'editor', 'thumbnail' ) ); register_post_type( 'book', $args ); } add_action( 'init', 'kv_custom_post_books' ); 

Hier bin ich mir nicht sicher, du hast diese Linie benutzt. 'taxonomies' => array('category', 'post_tag') . Hier erhalten Sie die Standardkategorien für Ihren benutzerdefinierten Post-Typ.

  1. Jetzt werden wir deinen Action Hook hier umschreiben. und wir verwenden die gleichen functionen keine Änderung darin.

     add_filter('manage_edit-book_columns', 'custom_columns', 10); add_action('manage_posts_custom_column', 'custom_columns_thumb', 10, 2); function custom_columns($columns) { $columns = array( 'cb' => '', 'title' => 'Title', 'categories' => 'Categories', // not showing 'thumb' => __('Thumb'), 'date' => __( 'Date' ) ); return $columns; } function custom_columns_thumb($column_name, $id){ if($column_name === 'thumb') { echo the_post_thumbnail( 'thumb' ); } } 

Hinweis: Ich habe nur eine Zeile in Ihrem Code bearbeitet. add_filter('manage_edit-book_columns', 'custom_columns', 10); . Wir müssen Ihren benutzerdefinierten Beitragstyp in Ihrem Aktions-Hook angeben. Das ist das ultimative Ding hier. manage_edit-book_columns Anstelle des Standard manage_edit-book_columns wir hier den Namen des benutzerdefinierten Post-Typs angeben.

Hier habe ich einen Screenshot für dich angehängt,

Bildbeschreibung hier eingeben

Versuchen Sie, die Thumb Spalte hinzuzufügen, anstatt die gesamten Spalten neu zu definieren.

 function custom_columns($columns) { return array_merge( $columns, array( 'thumb' => __('Thumb', 'mytextdomain' ), ) ); } 

unset Sie außerdem sicher, dass Sie versehentlich die Spalte Kategorien deaktiviert haben, wenn Sie die Spalten Tags , Author und Comments .

BEARBEITEN
Nachdem ich die kleine Suchschaltfläche in der oberen rechten Ecke des zweiten Screenshots gesehen habe, kann ich sehen, dass Sie tatsächlich einen benutzerdefinierten Beitragstyp verwenden. Wenn Sie in diesem Fall dem CPT die Standardkategorie “Categories” zuordnen möchten, verwenden Sie diesen Code mit dem aktuellen Argumentarray, das Ihren CPT registriert:

'taxonomies' => array('category');

Ändern Sie auch Ihre Filter in manage_post_type_posts_columns und manage_post_type_posts_columns . Wo post_type ist Ihr CPT.

Danke an Cybmeta und PieterGoosen für die Kommentare.

Wenn Sie neue Spalten hinzufügen möchten, ohne die Bank zu sprengen, finde ich, dass die alten Werte zuerst gespeichert werden, um sicherzustellen, dass Sie behalten, was da ist, und nur hinzufügen, was Sie brauchen. Wenn Sie weniger sehen möchten, passen Sie sie mit den Bildschirmoptionen an.

 $post_type = 'posts'; add_filter("manage_${post_type}_posts_columns", 'posts_set_custom_columns', 10); add_action("manage_${post_type}_posts_custom_column", 'posts_render_custom_columns', 10, 2); function posts_set_custom_columns ($columns) { // save existing settings for columns $before = array( 'cb' => $columns ['cb'], 'title' => $columns ['title'], 'categories' => $columns ['categories'], ); // remove all the items before our new columns foreach ($before as $inx => $label) { unset($columns[$inx]); } // push our new columns to the front $columns = array_merge( array( 'thumb' => __('Thumb'), ), $columns); // put the first items back in the front $columns = array_merge($before, $columns); return $columns; } function posts_render_custom_columns ($column_name, $id) { if($column_name === 'thumb') { $size = 'thumbnail'; // display the image or a mark to let us know it's missing if ( has_post_thumbnail( $id )) the_post_thumbnail( $size ); else echo "-"; } } 
  • manage_ $ post_type_posts_columns
  • manage_posts_custom_column

Schieberegler zum Ändern Ihres Postnamens und slider_category , um den Namen Ihrer Taxonomiekategorie zu ändern

  < ?php /** Manage column Function */ add_filter("manage_edit-slider_columns", "slider_edit_columns"); add_action("manage_posts_custom_column", "slider_custom_columns"); function slider_edit_columns($columns) { $columns = array( "cb" => "", "title" => "Title", "slider_category" => "Categories", "date" => "Date", ); return $columns; } function slider_custom_columns($column) { global $post; switch ($column) { case 'thumb': echo the_post_thumbnail( 'thumb' ); break; case "slider_category": echo $cat = strip_tags(get_the_term_list($post->ID, 'slider_category', '', ', ','')); break; default: break; } }