Custom Post Types – Listing im Backend anpassen – Teil 2
Im ersten Teil wurden neue Werte hinzugefügt. Nun sollen diese in die richtige Reihenfolge gebracht werden.
Die folgende Ansicht zeigt noch einmal den Ausgangspunkt.
Abb. 1 – Darstellung mit Anpassung (vgl. Teil 1)
ID, URL und Thumb wurden neu hinzugefügt und sollen nun neu angeordnet werden.
add_filter('manage_cako-links_posts_columns', 'cako_links_columns', 4); add_action('manage_cako-links_posts_custom_column', 'cako_link_post_column', 4, 2); function cako_links_columns($columns){ return array( 'cb' => '<input type="checkbox" />', 'cako-link-post-thumb' => __('Thumb'), 'title' => __('Title'), 'cako-link-post-url' => __('URL'), 'date' => __('Date'), 'cako-link-post-id' => __('ID'), ); } /* function cako_links_columns($columns){ $columns['cako-link-post-id'] = __('ID'); $columns['cako-link-post-url'] = __('URL'); $columns['cako-link-post-thumb'] = __('Thumb'); return $columns; } */ function cako_link_post_column($column, $postID){ $link_url = get_post_meta(get_the_ID(), 'ck_link_url', true); $link_text = get_post_meta(get_the_ID(), 'ck_link_text', true); if($column === 'cako-link-post-id'): echo $postID; elseif($column === 'cako-link-post-url' && ($link_url && $link_text)): echo '<a href="' . $link_url . '" target="_blank">'. $link_text . '</a>'; elseif($column === 'cako-link-post-thumb'): echo get_the_post_thumbnail( $post_id, array(50,50) ); endif; }
Die Funktion cako_links_columns()
wurde umgestaltet und erzeugt nun eine Neuanordnung der Spalten der Backendauflistung des Custom Post Types.
Abb. 2 – Darstellung mit neuer Anordnung
Um das Listing optisch anzupassen/auszugleichen wurden zusätzliche CSS-Anweisungen eingebunden.
add_action('admin_head', 'cako_links_admin_columns_css'); function cako_links_admin_columns_css() { echo '<style> .fixed .column-cako-link-post-id { width:3em; } .fixed .column-cako-link-post-thumb { width:50px; } </style>'; }
Abb. 3 – Darstellung mit neuer Anordnung inkl. Formatierung
Quellen:
http://codex.wordpress.org/Plugin_API/Filter_Reference/manage_$post_type_posts_columns
./wp-admin/includes/class-wp-posts-list-table.php