Benutzerdefinierte Werte in der benutzerdefinierten Beitragsübersicht

Ich habe einen benutzerdefinierten Post-Typ erstellt. Ich habe eine Übersichtsseite mit Titel, Autor, Editor. Diese sind im Unterstützungs-Array definiert ( 'supports' => array( 'title', 'author', 'editor' ), ). Ist es möglich, der Übersicht einige benutzerdefinierte Werte hinzuzufügen, zB Werte von benutzerdefinierten Posts?

BR, meine Freunde

Solutions Collecting From Web of "Benutzerdefinierte Werte in der benutzerdefinierten Beitragsübersicht"

Zum Anpassen der Spalten benötigen Sie grundsätzlich eine Kombination aus dem manage_edit-$post-type_columns Filter und dem `manage_ $ post-type_posts_custom_column’-Aktions-Hook. Die erste sagt WordPress die Namen der Spalten, die Sie anzeigen möchten, und die letztere gibt den HTML-Code für jede bestimmte Spalte aus … besonders benutzerdefinierte Spalten, die WordPress noch nicht definiert hat.

Das folgende Beispiel wurde aus benutzerdefinierten Spalten für benutzerdefinierte Post-Typen von Justin Tadlock übernommen und fügt benutzerdefinierte ‘Duration’- und’ Genre’-Spalten zu einem ‘ Movie’ -Post-Typ hinzu.

 add_filter( 'manage_edit-movie_columns', 'my_edit_movie_columns' ) ; function my_edit_movie_columns( $columns ) { $columns = array( 'cb' => '', 'title' => __( 'Movie' ), 'duration' => __( 'Duration' ), 'genre' => __( 'Genre' ), 'date' => __( 'Date' ) ); return $columns; } add_action( 'manage_movie_posts_custom_column', 'my_manage_movie_columns', 10, 2 ); function my_manage_movie_columns( $column, $post_id ) { global $post; switch( $column ) { /* If displaying the 'duration' column. */ case 'duration' : /* Get the post meta. */ $duration = get_post_meta( $post_id, 'duration', true ); /* If no duration is found, output a default message. */ if ( empty( $duration ) ) echo __( 'Unknown' ); /* If there is a duration, append 'minutes' to the text string. */ else printf( __( 'https://wordpress.stackexchange.com/questions/126722/custom-posts-values-in-custom-post-overview/%s minutes' ), $duration ); break; /* If displaying the 'genre' column. */ case 'genre' : /* Get the genres for the post. */ $terms = get_the_terms( $post_id, 'genre' ); /* 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( 'https://wordpress.stackexchange.com/questions/126722/custom-posts-values-in-custom-post-overview/%s', esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'genre' => $term->slug ), 'edit.php' ) ), esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'genre', 'display' ) ) ); } /* Join the terms, separating them with a comma. */ echo join( ', ', $out ); } /* If no terms were found, output a default message. */ else { _e( 'No Genres' ); } break; /* Just break out of the switch statement for everything else. */ default : break; } } 

Es gibt auch ein anderes Beispiel im Codex .