Wie kann ich dem Post-Bearbeitungs-Eintrag Spalten hinzufügen, um meine benutzerdefinierten Post-Daten anzuzeigen?

Wenn Sie auf “Posts” oder “Seiten” klicken, erhalten Sie eine Seitenliste Ihrer Posts oder Seiten mit den folgenden Spalten:

Titel | Autor | Kategorien | Tags | Datum

Ich habe ein Plugin, das einen SEO-Score für jeden Post und jede Seite gibt. Ich möchte zwei Spalten zur Listenansicht hinzufügen, wenn Posts oder Seiten angezeigt werden, eine für den “seo score” des Posts und eine für die Posts “seo keyword”, so dass der Spalteneintrag zu:

Titel | Autor | Kategorien | Tags | Datum | SEO Ergebnis | SEO Schlüsselwörter

Solutions Collecting From Web of "Wie kann ich dem Post-Bearbeitungs-Eintrag Spalten hinzufügen, um meine benutzerdefinierten Post-Daten anzuzeigen?"

Sie fügen die Spalte mithilfe des Filters manage_posts_column , in dem Sie zwei neue Array-Elemente mit einem benutzerdefinierten Schlüsselnamen und dem Kopfzeilennamen als Wert hinzufügen.

 add_filter('manage_posts_columns', 'wpse_3531_add_seo_columns', 10, 2); function wpse_3531_add_seo_columns($posts_columns, $post_type) { $posts_columns['seo_score'] = 'SEO score'; $posts_columns['seo_keyword'] = 'SEO keyword'; return $posts_columns; } 

Die function, die jede Zeile _post_row() anzeigt, _post_row() dann die manage_posts_custom_column für jede Spalte aus, die sie nicht kennt. Sie greifen diese function an, um Ihre eigenen Daten anzuzeigen.

 add_action('manage_posts_custom_column', 'wpse_3531_display_seo_columns', 10, 2); function wpse_3531_display_seo_columns($column_name, $post_id) { if ('seo_score' == $column_name) { echo 'SEO score for post with ID ' . $post_id; } if ('seo_keyword' == $column_name) { echo 'SEO keyword for post with ID ' . $post_id; } }