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?
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
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: