このチュートリアルでは、表示された列を変更して、投稿タイプの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_id
WordPress Post Management Interface:上記の画像は、「投稿」メニューとその「すべての投稿」サブメニューを示しています。どちらかを選択すると、ポスト管理画面が開きます:
この画面には、選択したタイプのすべての投稿がリストされています。
このインターフェイスを強化し、特に追加のメタデータを備えたカスタムポストタイプに追加の機能を提供するために、表示された列をカスタマイズします。
投稿列のカスタマイズと編入:
WordPressデフォルトの列(タイトル、著者、ページの日付など)が表示されます。これを変更するには、2つのフィルターを使用します
1。列のカスタマイズ(このフィルターは、どの列が表示されているかを変更します。 投稿タイプの名前(例えば、、、
)にを置き換えます。 フィルターは、列名をタイトルにマッピングする連想配列(
)を受信します。 この配列にアイテムを追加、削除、または並べ替えることができます。例(ページ列の変更): 2。列の居住列( このフィルターは、各列のコンテンツを入力します。 2つのパラメーターが受信されます: 例(ページ列の入力): この例は、Brevityのためのページコンテンツのトリミングされた抜粋を示しています。 完全なコンテンツを表示できますが、扱いにくいかもしれません。 結論: 管理列をカスタマイズすると、特にカスタム投稿タイプのユーザーインターフェイスを大幅に制御できます。 これにより、関連情報を表示し、管理者リスト内に動的アクションを直接追加する可能性があります。 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');
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);
page
を特定の投稿タイプに置き換え、ニーズに合わせてコードを調整することを忘れないでください。 提供された例は、より複雑なカスタマイズを構築するための強固な基盤を提供します。
以上が管理エリアの列を拡張しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。