Ändern der Priorität des Haupteditors

Ich möchte, dass der Haupt-WordPress-Post-Editor unter einigen meiner Metaboxen erscheint (generiert von Advanced Custom Fields).

Ich weiß, dass es die functionen add_meta_box() und remove_meta_box() , aber es wäre wirklich toll, wenn ich nur die Priorität der Editor-Meta-Box ändern könnte, ohne sie entfernen und neu hinzufügen zu müssen.

Irgendwelche Ideen?

Solutions Collecting From Web of "Ändern der Priorität des Haupteditors"

Der Editor ist fest in das Formular kodiert . Es wird nicht von add_meta_box eingefügt.

Es gibt einen Haken namens edit_form_after_title den Sie jedoch verwenden können.

Konzeptioneller Beweiß:

 // use the action to create a place for your meta box function add_before_editor($post) { global $post; do_meta_boxes('post', 'pre_editor', $post); } add_action('edit_form_after_title','add_before_editor'); // add a box the location just created function test_box() { add_meta_box( 'generic_box', // id, used as the html id att __( 'Generic Title' ), // meta box title 'generic_cb', // callback function, spits out the content 'post', // post type or page. This adds to posts only 'pre_editor', // context, where on the screen 'low' // priority, where should this go in the context ); } function generic_cb($post) { var_dump($post); echo 'generic content'; } add_action( 'add_meta_boxes', 'test_box' ); 

Um meine eigene Frage zu beantworten, erkläre ich zunächst, warum die Antwort von @ s_ha_dum bei mir nicht funktioniert.

Ich verwende erweiterte benutzerdefinierte Felder, um die zusätzlichen Metaboxen hinzuzufügen, die ich über dem WordPress-Editor anzeigen muss.

@s_ha_dum hat darauf hingewiesen, dass der WordPress-Editor innerhalb der Vorlage fest codiert ist, aber ich habe bemerkt, dass er durch Entfernen der Unterstützung für den Editor deaktiviert werden kann. Aus diesem Grund habe ich die Unterstützung für den Editor deaktiviert und den Code für den Editor in einer neuen Metabox hinzugefügt.

Et voila:

 add_action('init', function () { remove_post_type_support('post', 'editor'); }); add_action('add_meta_boxes', function () { $screens = array('post'); foreach ($screens as $screen) { add_meta_box( 'moved_editor', 'Moved Editor', 'moved_editor_custom_box', $screen ); } }); function moved_editor_custom_box( $post ) { // Use nonce for verification wp_nonce_field( plugin_basename( __FILE__ ), 'myplugin_noncename' ); ?>  
< ?php wp_editor($post->post_content, 'content', array('dfw' => true, 'tabfocus_elements' => 'sample-permalink,post-preview', 'editor_height' => 360) ); ?>
< ?php printf( __( 'Word count: %s' ), '0' ); ?>   < ?php if ( 'auto-draft' != $post->post_status ) : ?> ' < ?php if ( $last_id = get_post_meta($post_ID, '_edit_last', true) ) : ?> < ?php $last_user = get_userdata($last_id); printf(__('Last edited by %1$s on %2$s at %3$s'), esc_html( $last_user->display_name ), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified)); ?> < ?php else : ?> < ?php printf(__('Last edited on %1$s at %2$s'), mysql2date(get_option('date_format'), $post->post_modified), mysql2date(get_option('time_format'), $post->post_modified)); ?> < ?php endif; ?> < ?php endif; ?>
< ? }