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

15

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 entfernen, wie z

fxfuture
quelle

Antworten:

16

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)
    ...
}
sorich87
quelle
Vielen Dank. Seit Ewigkeiten nach der Antwort darauf gesucht! Gibt es auch eine Möglichkeit, die Verknüpfungen der Schaltfläche Vorschau im Feld Veröffentlichen zu ändern? Ich möchte einen Link zu mysite.com/video?id='id of post 'oder einen Leuchtkasten mit einem Videoplayer öffnen
fxfuture
Hi nochmal - eigentlich kann ich keines der von Ihnen gelieferten Codes zum Laufen bringen. Die Permalink-Metabox deaktiviert nur das Speichern von Änderungen am Permalink, anstatt ihn auszublenden, und ich kann den Quick Edit-Link überhaupt nicht deaktivieren. Irgendwelche Ideen?
fxfuture
Ich habe meine Antwort bearbeitet. Ich habe gerade die Quick-Edit-Code-Anzeige getestet, die funktioniert. Du sprichst über den Schnellbearbeitungslink unter dem Beitragsnamen auf: wp-admin / edit.php? Post_type = sis_course, oder?
Sorich87
Gut, ich schaue mir die zusätzlichen Informationen an, die du gepostet hast. Ich konnte die Schnellbearbeitung verbergen, indem ich in meinem benutzerdefinierten Beitragstyp "hierarchisch" => "falsch" änderte. Scheint keinen Unterschied zu machen, da ich das Post Types Order-Plugin verwende, um es trotzdem zu bestellen. Vielen Dank!
Am
Das Ersetzen der Submit-Meta-Box hat einwandfrei funktioniert! Tatsächlich musste $ post zwischen den Klammern in Ihrer Funktion stehen - also custom_post_submit_meta_box ($ post). Das sind also alle drei Kategorien :) Ich möchte noch einiges mehr an den Listenbeiträgen und dem Bearbeitungsbildschirm für Beiträge anpassen. Kennen Sie eine Referenzanleitung, die ausführlich beschreibt, wie Sie alle verschiedenen Elemente entfernen / ersetzen können?
FXFuture