it-swarm.com.de

Bearbeitungsseite für einen benutzerdefinierten Beitragstyp ändern?

Ich habe den ganzen Tag danach gesucht und kann es nicht finden.

Ich arbeite an einer benutzerdefinierten Kontaktseite und verwende die Funktion für benutzerdefinierte Beitragstypen, damit ich mehr Kontrolle darüber habe. Ich möchte, dass die Bearbeitungsseite eine benutzerdefinierte Vorlage ist (zum Beispiel, wenn ich zu /wp-admin/post.php?post=1234&action=edit gehe). Ich möchte, dass eine benutzerdefinierte Seite angezeigt wird. Ich brauche keine Meta-Boxen oder so. Vielleicht der Editor, aber am unteren Rand der Seite (nicht im Standard oben).

Ich habe herausgefunden, wie man die Meta-Boxen entfernt, aber ich habe nicht herausgefunden, wie man eine saubere Tafel auf der CPT-Bearbeitungsseite bekommt.

function remove_metaboxes(){
    remove_meta_box('postexcerpt', 'obpcontacts', 'normal'); // Excerpt box
    remove_meta_box('commentstatusdiv', 'obpcontacts', 'normal'); // Comment status box
    remove_meta_box('commentsdiv', 'obpcontacts', 'normal'); // Comment box
}
add_action( 'add_meta_boxes', 'remove_metaboxes',11 );

Überlegungen zum Erstellen einer benutzerdefinierten Vorlage im Bearbeitungsbereich von wp-admin für meinen benutzerdefinierten Beitragstyp?

4
Pat

Soweit ich weiß, können Sie bis auf den Titel h2 und den Rand .postbox-container fast alles entfernen. Beachten Sie auch, dass der #message standardmäßig nicht sichtbar ist, aber je nach Ihren Aktionen angezeigt werden kann.

Wenn Sie Ihr CPT registrieren, setzen Sie supports auf ein leeres Array.

'supports' => array ('')

Dann können Sie Folgendes verwenden, um Publish und Slug zu deaktivieren (das Slug-In ist standardmäßig nicht sichtbar, befindet sich jedoch unter den Bildschirmoptionen).

function remove_metaboxes(){
    remove_meta_box('slugdiv', 'obpcontacts', 'normal'); // Slug
    remove_meta_box('submitdiv', 'obpcontacts', 'side'); // Publish box
}
add_action( 'add_meta_boxes', 'remove_metaboxes', 11 );

Ihnen bleiben einige Elemente übrig, die möglicherweise mit Javascript entfernt werden müssen:

//jQuery enqueue only on your CPT
.removeClass("wrap");  //remove all CSS
5
Wyck

Wenn Sie die Funktionalität nicht benötigen (anstatt sie auszublenden), können Sie sie vollständig aus der Liste der Argumente entfernen, die an register_post_type() übergeben wurden.

Dies zeigt nur die Titel- und Editorfelder an.

$args = array(
    'supports' => array( 'title', 'editor' )
); 

Mögliche Unterstützungen:

  • 'Titel'
  • 'editor' (inhalt)
  • 'Autor'
  • 'thumbnail' (empfohlenes Bild, aktuelles Thema muss auch Post-Thumbnails unterstützen)
  • 'Auszug'
  • Trackbacks
  • 'Benutzerdefinierte Felder'
  • 'comments' (auch die Sprechblase für die Anzahl der Kommentare wird auf dem Bearbeitungsbildschirm angezeigt)
  • 'Revisionen' (speichert Revisionen)
  • 'Seitenattribute' (Menüreihenfolge, hierarchisch muss wahr sein, um die übergeordnete Option anzuzeigen)
  • 'Postformate' fügen Postformate hinzu, siehe Postformate
2
epilektric