首頁 > CMS教程 > &#&按 > 在您的管理區域擴展帖子列

在您的管理區域擴展帖子列

William Shakespeare
發布: 2025-02-19 10:46:18
原創
971 人瀏覽過

本教程演示瞭如何通過修改顯示的列來自定義帖子類型的WordPress管理屏幕。 我們將首先查看默認的WordPress Post類型列表,然後探索用於列操作的必要鉤子。 最後,我們將將其他的元數據集成到這些列中。

>

的目標是使您能夠擴展和修改郵政類型的管理屏幕,從而為用戶提供更多信息和操作。

密鑰概念:

  • 兩個核心過濾器控制列顯示:
  • (定義列)和
  • (填充列數據)。 manage_{$post_type}_posts_columns manage_{$post_type}_posts_custom_column>您可以使用
  • 添加,刪除或重新排序列。
  • >允許您使用manage_{$post_type}_posts_columnsmanage_{$post_type}_posts_custom_column>變量來控制每一列中的內容。 $column>自定義列數據對於自定義發布類型特別有價值,可以訪問ID和META數據以進行動態內容更新或媒體選擇。 $post_id>
  • > WordPress郵政管理接口:

    > 創建POST類型(包括默認的“帖子”和“頁面”)時,WordPress會生成用於管理的管理接口。 這通常是通過後端的主管理菜單訪問的。

    上面的圖像顯示“帖子”菜單及其“所有帖子”子菜單。選擇要么打開郵政管理屏幕:Extending Post Columns in Your Admin Areas

    此屏幕列出了所選類型的所有帖子。 Extending Post Columns in Your Admin Areas

    >擴展郵政管理接口:

    > >增強此界面並提供其他功能,尤其是對於具有額外元數據的自定義郵政類型,我們將自定義顯示的列。

    >自定義和填充帖子列:

    >

    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)和$post_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);
    登入後複製
    該示例顯示了簡潔的頁面內容的修剪摘錄。 可以顯示完整的內容,但可能很笨拙。

    >

    Extending Post Columns in Your Admin Areas

    結論: >自定義管理列提供了對用戶界面的重大控制,尤其是對於自定義郵政類型。 這允許顯示相關信息,並可能直接在管理員列表中添加動態操作。 請記住,用特定的帖子類型替換

    並調整代碼以符合您的需求。 提供的示例為建立更複雜的自定義提供了堅實的基礎。

    以上是在您的管理區域擴展帖子列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

  • 本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板