wake-up-neo.net

Ändern der Priorität einer benutzerdefinierten Taxonomie-Metabox

Ich erstelle eine neue benutzerdefinierte Taxonomie ( nicht einen benutzerdefinierten Beitragstyp). Auf der Seite "Beitrag bearbeiten" wird diese benutzerdefinierte Taxonomie über allen meinen anderen Meta-Boxen angezeigt. Ich möchte, dass es in der Gruppe tiefer sinkt.

Ich weiß, dass die Priorität über add_meta_box () hinzugefügt werden kann. Leider verwende ich die Standard-Meta-Box, die durch meinen Aufruf von register_taxonomy () erstellt wurde, sodass ich den Prioritätswert nicht ändern kann.

Wie kann ich die Priorität meiner benutzerdefinierten Taxonomie so ändern, dass das zugehörige Meta-Feld in der Gruppe der Meta-Felder niedriger angezeigt wird?

Vielen Dank! :)

4
rinogo

Wie so oft in WP gibt es eine Reihe von Möglichkeiten, um dieses Problem anzugehen. Hier ist ein möglicher Weg:

function my_meta_box_order() {
    global $wp_meta_boxes;
    $genre = $wp_meta_boxes['post']['side']['core']['genrediv'];
    unset($wp_meta_boxes['post']['side']['core']['genrediv']);
    $wp_meta_boxes['post']['side']['core'] = array('genrediv' => $genre) + $wp_meta_boxes['post']['side']['core'];
}
add_action('add_meta_boxes_post', 'my_meta_box_order');
# We're hooking into: do_action('add_meta_boxes_' . $post_type, $post);

$wp_meta_boxes enthält alle Meta-Box-Informationen. Es ist wie folgt angeordnet: $wp_meta_boxes[$page][$context][$priority][$id]. Sie können es wie gewünscht manipulieren, um Ihre Boxen neu anzuordnen. Beachten Sie, dass dies natürlich per Drag + Drop überschrieben werden kann.

Als Referenz finden Sie hier eine Reihe von Haken, an denen Sie sich einklinken können:

do_action('add_meta_boxes', $post_type, $post);
do_action('add_meta_boxes_' . $post_type, $post);
do_action('do_meta_boxes', $post_type, 'normal', $post);
do_action('do_meta_boxes', $post_type, 'advanced', $post);
do_action('do_meta_boxes', $post_type, 'side', $post);

Prost ~

3
Matthew Boynes