Legen Sie die Standardoptionen für den Admin-Bildschirm und die Metabox-Reihenfolge fest
28
Ich bin verzweifelt auf der Suche nach einer Möglichkeit, die Standardeinstellungen für "Bildschirmoptionen" und die Metabox-Reihenfolge in der Datei functions.php festzulegen. Hat jemand Hilfe, die er hier anbieten kann?
Festlegen der Reihenfolge von Meta-Boxen auf Nachbearbeitungsseiten
Sie müssen die Meta-Boxen entfernen und sie in der gewünschten Reihenfolge erneut hinzufügen.
So deaktivieren Sie Meta-Boxen: (Passen Sie sie an Ihre Bedürfnisse an. Sehen Sie sich die Metabox-ID im HTML-Code an, um zu erfahren, welchen Namen Sie als ersten Parameter der Funktionen verwenden sollten.)
function my_remove_meta_boxes(){
remove_meta_box('postcustom','post','core');
remove_meta_box('commentsdiv','post','core');...}
add_action('admin_menu','my_remove_meta_boxes');
Nachdem Sie sie entfernt haben, können Sie sie mit der Funktion add_meta_box an neuen Positionen hinzufügen: http://codex.wordpress.org/Function_Reference/add_meta_box . Die Reihenfolge der Meta-Boxen hängt von der Reihenfolge ab, in der Sie die Funktion add_meta_box aufrufen. Beispiel: Mit dem folgenden Code-Snippet befindet sich das Meta-Feld für Kommentare vor dem Meta-Feld für benutzerdefinierte Felder.
Entschuldigung, vielleicht habe ich mich nicht richtig erklärt. Ich bezog mich auf die Meta-Felder auf der Post-Bearbeitungsseite im Admin-Bereich und stellte die Standardanzahl der Posts ein, die auf der Seite mit der Admin-Post-Liste angezeigt werden sollen.
NetConstructor.com
1
also technisch ist dies keine frage, es sind wirklich 2 fragen?
Tom J Nowell
Ich habe meine Antwort geändert. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Sorich87
@ sorich87 danke für deine antwort aber soweit ich mich erinnere gab es keine möglichkeit die genaue reihenfolge jeder metabox zu spezifizieren oder war da? Vielleicht sollte ich etwas genauer sein. Grundsätzlich suche ich nach verschiedenen Codeausschnitten, mit denen ich verschiedene Optionen für alle Benutzer voreinstellen kann, ohne mich bei jedem Konto anmelden zu müssen. Beispiele: Festlegen der exakten Reihenfolge von Meta-Feldern auf Nachbearbeitungsseiten, Festlegen, welcher Spaltentitel auf der Nachbearbeitungslistenseite angezeigt wird, Festlegen der Standardergebnisse, die auf der Nachbearbeitungslistenseite angezeigt werden. Danke im Voraus.
NetConstructor.com
Ich habe meine Antwort geändert.
Sorich87
9
Im folgende Beispiel, ersetzen Sie {CPT}mit dem Posttypnamen, wie post, page, book, event, imaginary, foobar... Also , wenn Sie einen Beitrag Typen mit dem Namen haben event, müssen Sie einen Filter für hinzuzufügen get_user_option_meta-box-order_event.
add_filter('get_user_option_meta-box-order_{CPT}','metabox_order');function metabox_order( $order ){return array('normal'=> join(",",
array(// vvv Arrange here as you desire'customdiv-{CPT}','authordiv','slugdiv',)),);}
Anmerkungen:
Zusammen mit normalkönnen Sie auch sideund habenadvanced
Die Werte sind durch Kommas getrennte Div-IDs. Sie können den Quellcode der Seite anzeigen oder erraten
Etwaige vorhandene Metaboxen, die nicht in Ihrer benutzerdefinierten Bestellung enthalten sind, werden automatisch am Ende Ihrer Liste hinzugefügt.
Ich war etwas verwirrt von der {CPT}Nomenklatur; Wenn Sie einen Beitragstyp mit dem Namen haben event, müssen Sie zur Verdeutlichung einen Filter für hinzufügen get_user_option_meta-box-order_event.
Antworten:
Festlegen der Reihenfolge von Meta-Boxen auf Nachbearbeitungsseiten
Sie müssen die Meta-Boxen entfernen und sie in der gewünschten Reihenfolge erneut hinzufügen.
So deaktivieren Sie Meta-Boxen: (Passen Sie sie an Ihre Bedürfnisse an. Sehen Sie sich die Metabox-ID im HTML-Code an, um zu erfahren, welchen Namen Sie als ersten Parameter der Funktionen verwenden sollten.)
Nachdem Sie sie entfernt haben, können Sie sie mit der Funktion add_meta_box an neuen Positionen hinzufügen: http://codex.wordpress.org/Function_Reference/add_meta_box . Die Reihenfolge der Meta-Boxen hängt von der Reihenfolge ab, in der Sie die Funktion add_meta_box aufrufen. Beispiel: Mit dem folgenden Code-Snippet befindet sich das Meta-Feld für Kommentare vor dem Meta-Feld für benutzerdefinierte Felder.
Vielleicht möchten Sie sich die Datei wp-admin / edit-form-advanced.php ansehen
Festlegen, welcher Spaltentitel auf der Beitragslistenseite angezeigt wird
Sie müssen den Filter verwenden, um _ {$ post_type} _posts_columns zu verwalten. Beispiel: Das folgende Snippet entfernt die Kommentarspalte.
Festlegen der Standardergebnisse, die auf der Beitragslistenseite angezeigt werden
Verwenden Sie die Filter "_ {$ post_type} _per_page bearbeiten" und "edit_posts_per_page".
So zielen Sie auf einen bestimmten Beitragstyp ab:
Verwenden Sie
add_filter( 'edit_{post type}_per_page', 'my_edit_post_per_page' );
zBadd_filter( 'edit_post_per_page', 'my_edit_post_per_page' );
für Beiträge,add_filter( 'edit_page_per_page', 'my_edit_post_per_page' );
für Seiten.oder verwenden Sie eine Bedingung innerhalb Ihrer Funktion. z.B:
Funktion my_edit_post_per_page ($ per_page, $ post_type) {
quelle
Im folgende Beispiel, ersetzen Sie
{CPT}
mit dem Posttypnamen, wiepost
,page
,book
,event
,imaginary
,foobar
... Also , wenn Sie einen Beitrag Typen mit dem Namen habenevent
, müssen Sie einen Filter für hinzuzufügenget_user_option_meta-box-order_event
.Anmerkungen:
normal
können Sie auchside
und habenadvanced
quelle
{CPT}
Nomenklatur; Wenn Sie einen Beitragstyp mit dem Namen habenevent
, müssen Sie zur Verdeutlichung einen Filter für hinzufügenget_user_option_meta-box-order_event
.