有一种方法可以将元框放在标题后面。有一个钩子叫edit_form_after_title
. 如果你look at the source 没有比这更早的钩子,也不算太早<form
标签以下操作会将该框移动到标题后的位置。。。
function generic_box() {
remove_meta_box(\'postcustom\',null,\'core\');
add_meta_box(\'postcustomv2\', __(\'Custom Fields\'), \'post_custom_meta_box\', \'post\', \'after_title\');
}
add_action(\'do_meta_boxes\',\'generic_box\',100);
function add_box_after_title() {
global $post_type, $post;
do_meta_boxes($post_type, \'after_title\', $post);
}
add_action( \'edit_form_after_title\', \'add_box_after_title\' );
。。。但有一个小问题。我似乎无法删除该框,然后使用相同的ID将其添加回。我已将其添加回
postcustomv2
但这是相同的回调。这导致了一个轻微的格式问题,但似乎是可行的。
编辑:
我想到了一种作弊的方法。。。很多无法保证此功能。
function title_cheat() {
global $post; ?>
<div id="titlewrap">
<label class="screen-reader-text" id="title-prompt-text" for="title"><?php echo apply_filters( \'enter_title_here\', __( \'Enter title here\' ), $post ); ?></label>
<input type="text" name="post_title" size="30" value="<?php echo esc_attr( htmlspecialchars( $post->post_title ) ); ?>" id="title" autocomplete="off" />
</div><?php
}
function generic_box() {
remove_meta_box(\'postcustom\',null,\'core\');
remove_post_type_support(\'post\',\'title\');
add_meta_box(\'postcustomv2\', __(\'Custom Fields\'), \'post_custom_meta_box\', \'post\', \'after_title\');
add_meta_box(
\'titlediv\', // id, used as the html id att
__( \'Title\' ), // meta box title
\'title_cheat\', // callback function, spits out the content
\'post\', // post type or page. This adds to posts only
\'after_title\', // context, where on the screen
\'low\' // priority, where should this go in the context
);
}
add_action(\'do_meta_boxes\',\'generic_box\',100);
function add_box_after_title() {
global $post_type, $post;
do_meta_boxes($post_type, \'after_title\', $post);
}
add_action( \'edit_form_after_title\', \'add_box_after_title\' );
如果您删除了对;标题“;标题框消失,然后您可以将其添加回您想要的位置。
几乎未经测试。可能是马车。买主注意事项。不退款。