it-swarm.com.de

Bildschirm "Beitrag bearbeiten" für benutzerdefinierte Beitragstypen anpassen?

Wie lässt sich der Administratorbildschirm "Beitrag bearbeiten" für einen bestimmten benutzerdefinierten Beitragstyp am besten vollständig anpassen?

Ich habe es bereits bei der Erstellung des benutzerdefinierten Beitragstyps in einem gewissen Maße angepasst - indem ich zusätzliche Felder usw. hinzufüge, aber ich möchte viele der Elemente wie Permalinks, Vorschaubeiträge, Deaktivieren der Schnellbearbeitung usw. Entfernen

15
fxfuture

Einige dieser Fragen werden hier beantwortet: Festlegen der Standardoptionen für den Admin-Bildschirm und der Metabox-Reihenfolge

So entfernen Sie die Permalink-Metabox:

function my_remove_meta_boxes() {
    remove_meta_box('slugdiv', 'my-post-type', 'core');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );

außerdem musst du die # edit-slug-box mit css oder javascript verstecken. siehe: Externe Skripte in Admin laden, aber NUR für einen bestimmten Beitragstyp?

So deaktivieren Sie die Schnellbearbeitung:

function my_remove_actions( $actions, $post ) {
    if( $post->post_type == 'my-post-type' ) {
        unset( $actions['inline hide-if-no-js'] );
    }
    return $actions;
}
add_filter( 'post_row_actions', 'my_remove_actions', 10, 2 );

Um den Vorschau-Link zu ändern, können Sie den Filter 'preview_post_link' verwenden, der jedoch nur funktioniert, wenn der Beitrag noch nicht veröffentlicht wurde. Die Lösung wäre also, die Submit-Meta-Box zu entfernen und eine eigene geänderte hinzuzufügen:

function my_replace_submit_meta_box() {
    remove_meta_box('submitdiv', 'my-post-type', 'core');
    add_meta_box('submitdiv', __('Publish'), 'custom_post_submit_meta_box', 'my-post-type', 'side', 'core');
}
add_action( 'admin_menu', 'my_replace_submit_meta_box' );

function custom_post_submit_meta_box() { // a modified version of post_submit_meta_box() (wp-admin/includes/meta-boxes.php, line 12)
    ...
}
16
sorich87