it-swarm.com.de

Spalte "Benutzerdefinierte Bearbeitung" - 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' => '<input type="checkbox" />',
        '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 "Daumen" wird ordnungsgemäß angezeigt, die Kategorie wird jedoch nicht mehr angezeigt. Bitte siehe Bild.

 enter image description here 

Was verursacht das? Die Kategorien zeigen, ob ich die benutzerdefinierten Spalten entferne.

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

  1. Ich erstelle gerade einen Dummy custom_post_type hier book mit folgendem 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, ob du diese Linie benutzt hast. 'taxonomies' => array('category', 'post_tag'). Mit dieser Option erhalten Sie die Standardkategorie für Ihren benutzerdefinierten Beitragstyp.

  1. Jetzt werden wir Ihren Action-Hook hier umschreiben. und wir verwenden die gleichen Funktionen, ohne daran etwas zu ändern.

    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' => '<input type="checkbox" />',
          '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 gerade 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 hier das Ultimative. manage_edit-book_columns Anstelle der Standardeinstellung müssen wir hier den Namen des benutzerdefinierten Beitragstyps angeben.

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

 enter image description here 

5
Kvvaradha

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

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

Stellen Sie außerdem sicher, dass Sie versehentlich unset die Spalte "Kategorien" entfernt haben, als Sie die Spalten Tags, Author und Comments entfernt haben.

EDIT
Nachdem ich die kleine Beschriftung der Suchschaltfläche in der oberen rechten Ecke des zweiten Screenshots gesehen habe, kann ich feststellen, dass Sie tatsächlich einen benutzerdefinierten Beitragstyp verwenden. Wenn Sie in diesem Fall Ihrem CPT die Standardkategorie "Categories" zuordnen möchten, verwenden Sie diesen Code mit dem aktuellen Array von Argumenten, mit denen Ihr CPT registriert wird:

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

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

Danke an cybmeta und PieterGoosen für die Kommentare.

2
Abhik

Wenn Sie neue Spalten hinzufügen möchten, ohne die Bank zu beschädigen, hilft es mir, die alten Werte zu speichern, um sicherzustellen, dass Sie die vorhandenen beibehalten und nur die benötigten hinzufügen. Wenn Sie weniger sehen möchten, passen Sie dies 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 "-";
    }
}
1
jgraup

Schieberegler zum Ändern Ihres Beitragsnamens und Schiebereglerkategorie zum Ändern Ihres Taxonomie-Kategorienamens

    <?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" => "<input type=\"checkbox\" />",
        "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;
    }
}
0
ravi patel