此快速提示介紹如何在 WordPress 部落格的管理畫面中新增自訂列。
以下是一些程式碼片段,您可以使用它們來自訂「管理畫面」中的列。
您可以將它們複製並貼上到主題的 functions.php 檔案中,或下載本文附帶的外掛程式。
首先,讓我們先定義一些輔助函數,稍後我們將把它們掛接到 WordPress 中。前兩個新增列(或兩列,或刪除預設列),而其他列則顯示列內容。在這些範例中,我們假設您已經啟動了電影自訂貼文類型和類型自訂分類。您可以在上一篇文章中了解如何建立自訂貼文類型和分類法。
function ST4_columns_head($defaults) { $defaults['first_column'] = 'First Column'; /* ADD ANOTHER COLUMN (OPTIONAL) */ // $defaults['second_column'] = 'Second Column'; /* REMOVE DEFAULT CATEGORY COLUMN (OPTIONAL) */ // unset($defaults['categories']); /* TO GET DEFAULTS COLUMN NAMES: */ // print_r($defaults); return $defaults; } // ONLY FOR movie CUSTOM POST TYPE function ST4_columns_head_movies($defaults) { $defaults['my_movie_column'] = 'MY MOVIE COLUMN'; return $defaults; } // GENERAL PURPOSE function ST4_columns_content($column_name, $post_ID) { if ($column_name == 'first_column') { // DO STUFF FOR first_column COLUMN echo 'The post ID is: ' . $post_ID; } /* IF YOU NEED ANOTHER COLUMN - UNCOMMENT ALSO $defaults['second_column'] = 'Second Column'; in ST4_columns_head() */ /* if ($column_name == 'second_column') { // DO STUFF FOR second_column COLUMN } */ } // TAXONOMIES: CATEGORIES (POSTS AND LINKS), TAGS AND CUSTOM TAXONOMIES function ST4_columns_content_taxonomy($c, $column_name, $term_id) { if ($column_name == 'first_column') { echo 'The term ID is: ' . $term_id; } } // USERS function ST4_columns_content_users($c, $column_name, $user_id) { if ($column_name == 'first_column') { $output .= 'The user ID is: ' . $user_id; } if ($column_name == 'second_column') { $output .= 'This is the second column content'; } return $output; } // CUSTOM POSTS function ST4_columns_content_movies($column_name, $movie_ID) { if ($column_name == 'my_movie_column') { echo 'The movie ID is: ' . $movie_ID; } }
現在,讓我們將這些功能掛接到 WordPress 管理畫面:
add_filter('manage_posts_columns', 'ST4_columns_head'); add_filter('manage_posts_custom_column', 'ST4_columns_content', 10, 2);
add_filter('manage_post_posts_columns', 'ST4_columns_head', 10); add_action('manage_post_posts_custom_column', 'ST4_columns_content', 10, 2);
add_filter('manage_page_posts_columns', 'ST4_columns_head', 10); add_action('manage_page_posts_custom_column', 'ST4_columns_content', 10, 2);
add_filter('manage_movie_posts_columns', 'ST4_columns_head_movies', 10); add_action('manage_movie_posts_custom_column', 'ST4_columns_content_movies', 10, 2);
add_filter('manage_edit-category_columns', 'ST4_columns_head'); add_filter('manage_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter('manage_edit-genre_columns', 'ST4_columns_head'); add_filter('manage_genre_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter('manage_edit-post_tag_columns', 'ST4_columns_head'); add_filter('manage_post_tag_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter('manage_edit-link_category_columns', 'ST4_columns_head'); add_filter('manage_link_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
add_filter('manage_media_columns', 'ST4_columns_head'); add_filter('manage_media_custom_column', 'ST4_columns_content', 10, 2);
add_filter('manage_users_columns', 'ST4_columns_head'); add_filter('manage_users_custom_column', 'ST4_columns_content_users', 10, 2);
最後兩個注意事項:如果管理畫面沒有項目,例如還沒有標籤,則不會顯示新列的內容。
ST4_columns_content_users
函數與其他函數略有不同,因為它會傳回一個包含 HTML 的 PHP 變量,而不是動態列印列內容。
以上是快速提示:在WordPress管理畫面中新增自訂列的詳細內容。更多資訊請關注PHP中文網其他相關文章!