ホームページ > CMS チュートリアル > &#&プレス > 管理エリアの列を拡張します

管理エリアの列を拡張します

William Shakespeare
リリース: 2025-02-19 10:46:18
オリジナル
968 人が閲覧しました

このチュートリアルでは、表示された列を変更して、投稿タイプのWordPress管理画面をカスタマイズする方法を示しています。 まず、デフォルトのWordPressの投稿タイプのリストを確認し、列の操作に必要なフックを調べます。 最後に、追加の投稿メタデータをこれらの列に統合します。

目標は、ポストタイプの管理画面を拡張および変更し、ユーザーにより多くの情報とアクションを提供することです。

重要な概念:

WordPress Post Type管理画面は高度にカスタマイズ可能で、機能とユーザーエクスペリエンスが強化されています。 2つのコアフィルターコントロール列ディスプレイ:
    (列を定義します)および
  • (列データの入力)。
  • を使用して列を追加、削除、または並べ替えることができます。 manage_{$post_type}_posts_columns各列内のコンテンツを制御して、manage_{$post_type}_posts_custom_columnおよび
  • 変数を使用できます。
  • manage_{$post_type}_posts_columns列データのカスタマイズは、カスタム投稿タイプに特に価値があり、ダイナミックコンテンツの更新またはメディア選択のためにIDとメタデータへのアクセスを可能にします。 manage_{$post_type}_posts_custom_column $column$post_idWordPress Post Management Interface:
  • 投稿タイプ(デフォルトの「投稿」と「ページ」を含む)を作成する場合、WordPressは管理のための管理インターフェイスを生成します。 これは通常、バックエンドのメイン管理メニューからアクセスされます。

上記の画像は、「投稿」メニューとその「すべての投稿」サブメニューを示しています。どちらかを選択すると、ポスト管理画面が開きます:

Extending Post Columns in Your Admin Areas この画面には、選択したタイプのすべての投稿がリストされています。

ポスト管理インターフェイスの拡張:

Extending Post Columns in Your Admin Areas このインターフェイスを強化し、特に追加のメタデータを備えたカスタムポストタイプに追加の機能を提供するために、表示された列をカスタマイズします。

投稿列のカスタマイズと編入:

WordPressデフォルトの列(タイトル、著者、ページの日付など)が表示されます。これを変更するには、2つのフィルターを使用します

1。列のカスタマイズ():

このフィルターは、どの列が表示されているかを変更します。 投稿タイプの名前(例えば、

)に

を置き換えます。 フィルターは、列名をタイトルにマッピングする連想配列(

)を受信します。 この配列にアイテムを追加、削除、または並べ替えることができます。

例(ページ列の変更):

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):

このフィルターは、各列のコンテンツを入力します。 2つのパラメーターが受信されます:$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);
ログイン後にコピー

この例は、Brevityのためのページコンテンツのトリミングされた抜粋を示しています。 完全なコンテンツを表示できますが、扱いにくいかもしれません。

Extending Post Columns in Your Admin Areas

結論:

管理列をカスタマイズすると、特にカスタム投稿タイプのユーザーインターフェイスを大幅に制御できます。 これにより、関連情報を表示し、管理者リスト内に動的アクションを直接追加する可能性があります。 pageを特定の投稿タイプに置き換え、ニーズに合わせてコードを調整することを忘れないでください。 提供された例は、より複雑なカスタマイズを構築するための強固な基盤を提供します。

以上が管理エリアの列を拡張しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート