Hinzufügen von Meta-Box zu bestimmten Untermenü-Seite

Ich habe diese Seite erstellt:

function wpdocs_register_my_setting() { add_submenu_page( 'edit.php?post_type=task', 'View Tasks', 'View Tasks', 'manage_options', 'view-tasks', 'view_tasks_submenu_page_callback' ); } function view_tasks_submenu_page_callback() { // html } add_action( 'admin_menu', 'wpdocs_register_my_setting' ); 

Und ich möchte nur eine Meta-Box zu dieser Seite hinzufügen.

 function cd_meta_box_add() { add_meta_box( 'in-progress-metabox', 'In Progress', 'render_task_in_progress_metabox', 'task', 'normal', 'high' ); } function render_task_in_progress_metabox() { // html } add_action( 'add_meta_boxes', 'cd_meta_box_add' ); 

Aber ich kann nicht die richtige Antwort dafür finden. Auch hier möchte ich diese Metabox nur zu dieser spezifischen Seite hinzufügen. Ich habe Leute gesehen, die über do_meta_boxes reden müssen, aber das macht keinen Sinn.

Solutions Collecting From Web of "Hinzufügen von Meta-Box zu bestimmten Untermenü-Seite"

Ich denke, dass Sie mit WordPress Setting API gehen wollen.

Wenn Sie Meta-Box bevorzugen. Sie müssen in Ihrer function eine do_action hinzufügen, die die Seite view_tasks_submenu_page_callback ( view_tasks_submenu_page_callback ).

do_action( 'add_meta_boxes', $hook_id );

Und fügen Sie do_meta_boxes($hook_id, $context, null) wo Ihre Meta-Felder erscheinen sollen.

Ersetzen Sie $hook_id durch den vierten Parameter der function add_meta_box.