Wie positioniere ich meta_box auf dem Post-Edit-Bildschirm nach dem Titel?

Ich add_meta_box() ein Div im Edit Post-Bildschirm mit add_meta_box() . Diese function bietet sehr begrenzte Positionierungsoptionen über “Priorität” und “Kontext” Parameter und diese sind nicht ausreichend für meine Bedürfnisse.

Ich muss in der Lage sein, das div unter dem Permalink anzuzeigen, aber über dem Insert Media Button auf Edit Post, speziell unter dem div “titlediv”, über dem div “postdivrich”.

Wie sonst kann ich die Metabox auf dem Post-Bearbeitungsbildschirm positionieren? Kann dies durch jQuery geschehen?

Hier ist eine teilweise funktionierende Lösung:

 function admin_init(){ add_meta_box("wd_meta", "WD Meta", "wd_meta", "post", "normal", "high"); } add_action("admin_init", "admin_init"); function wd_meta() { global $post; $custom = get_post_custom($post->ID); ?> 

Display a message here.

$('#wd_meta').insertAfter('#titlediv');

Die Metabox wird auf der Seite korrekt angezeigt, aber das Javascript positioniert es nicht richtig, obwohl es in der Demo zu funktionieren scheint:

http://jsfiddle.net/kFTc5/11/

Solutions Collecting From Web of "Wie positioniere ich meta_box auf dem Post-Edit-Bildschirm nach dem Titel?"

Sie können dafür keine echte edit_form_after_title verwenden, edit_form_after_title stattdessen edit_form_after_title verwenden.

Bildbeschreibung hier eingeben

Hier ist ein einfaches Beispiel:

 add_action( 'edit_form_after_title', 'wpse_87478_pseudo_metabox' ); add_action( 'save_post', 'wpse_87478_save_metabox' ); function wpse_87478_pseudo_metabox() { global $post; $key = '_wpse_87478'; if ( empty ( $post ) || 'post' !== get_post_type( $GLOBALS['post'] ) ) return; if ( ! $content = get_post_meta( $post->ID, $key, TRUE ) ) $content = ''; printf( '

', $key, esc_attr( $content ) ); } function wpse_87478_save_metabox( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( ! current_user_can( 'edit_post', $post_id ) ) return; $key = '_wpse_87478'; if ( isset ( $_POST[ $key ] ) ) return update_post_meta( $post_id, $key, $_POST[ $key ] ); delete_post_meta( $post_id, $key ); }