本教程演示瞭如何通過修改顯示的列來自定義帖子類型的WordPress管理屏幕。 我們將首先查看默認的WordPress Post類型列表,然後探索用於列操作的必要鉤子。 最後,我們將將其他的元數據集成到這些列中。
>的目標是使您能夠擴展和修改郵政類型的管理屏幕,從而為用戶提供更多信息和操作。
密鑰概念:
manage_{$post_type}_posts_columns
manage_{$post_type}_posts_custom_column
>您可以使用manage_{$post_type}_posts_columns
和manage_{$post_type}_posts_custom_column
>變量來控制每一列中的內容。
$column
>自定義列數據對於自定義發布類型特別有價值,可以訪問ID和META數據以進行動態內容更新或媒體選擇。 $post_id
>
> 創建POST類型(包括默認的“帖子”和“頁面”)時,WordPress會生成用於管理的管理接口。 這通常是通過後端的主管理菜單訪問的。
上面的圖像顯示“帖子”菜單及其“所有帖子”子菜單。選擇要么打開郵政管理屏幕:
此屏幕列出了所選類型的所有帖子。
>擴展郵政管理接口:
> >增強此界面並提供其他功能,尤其是對於具有額外元數據的自定義郵政類型,我們將自定義顯示的列。
>自定義和填充帖子列:>WordPress顯示默認列(例如,標題,作者,頁面的日期)。要修改此問題,請使用兩個過濾器:
1。自定義列():
此過濾器修改了顯示哪些列。 用您的帖子類型的名稱替換manage_{$post_type}_posts_columns
(例如,,
)。 該過濾器接收一個關聯數組({$post_type}
)映射列名稱為標題。 您可以在此數組中添加,刪除或重新排序項目。 page
>
post
示例(修改頁面列):services
function manage_page_columns($columns) { unset($columns['date']); unset($columns['comments']); unset($columns['author']); $columns['page_featured_image'] = 'Featured Image'; $columns['page_template'] = 'Template'; $columns['page_content'] = 'Content'; return $columns; } add_filter('manage_page_posts_columns', 'manage_page_columns');
2。填充列(manage_{$post_type}_posts_custom_column
):
此濾鏡填充了每列的內容。它接收兩個參數:$column
(列ID)和
function populate_page_columns($column, $post_id) { if ($column == 'page_featured_image') { if (has_post_thumbnail($post_id)) { echo get_the_post_thumbnail($post_id, 'thumbnail'); } else { echo 'No featured image'; } } elseif ($column == 'page_template') { $template = get_post_meta($post_id, '_wp_page_template', true); $templates = get_page_templates(); echo isset($templates[$template]) ? 'Using: ' . $templates[$template] : 'Default Template'; } elseif ($column == 'page_content') { $page = get_post($post_id); if ($page) { echo wp_trim_words(apply_filters('the_content', $page->post_content), 20, '...'); // Show a trimmed excerpt } } } add_action('manage_page_posts_custom_column', 'populate_page_columns', 10, 2);
>
結論:
以上是在您的管理區域擴展帖子列的詳細內容。更多資訊請關注PHP中文網其他相關文章!