add_action( 'add_meta_boxes', 'post_title_box' );
function post_title_box() {
add_meta_box(
'post_title_box',
'Заголовок записи',
'post_title_box_content',
'post',
'normal',
'high'
);
}
Функция post_title_box_content отвечает за вывод содержимого метабокса, в данном случае будем выводить редактор TinyMCE, в этом нам поможет функция wp_editor:function post_title_box_content( $post ) {
wp_nonce_field( basename( __FILE__ ), 'post_title_box_content_nonce' );
$post_meta = get_post_meta($post->ID);
wp_editor((isset($post_meta['my_post_title'])?$post_meta['my_post_title'][0]:''), 'my_post_title', array(
'wpautop' => 1,
'media_buttons' => 0,
'textarea_name' => 'my_post_title',
'textarea_rows' => 10,
'tabindex' => null,
'editor_css' => '',
'editor_class' => '',
'teeny' => 0,
'dfw' => 0,
'tinymce' => 1,
'quicktags' => 1,
'drag_drop_upload' => false
) );
}
При сохранении поста нужно сохранить и наш заголовок:add_action( 'save_post', 'post_title_box_save' );
function post_title_box_save( $post_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
if ( !isset( $_POST['post_title_box_content_nonce'] )
|| !wp_verify_nonce( $_POST['post_title_box_content_nonce'], basename( __FILE__ ) ) )
return;
if ( 'post' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ) )
return;
} else {
if ( !current_user_can( 'edit_post', $post_id ) )
return;
}
update_post_meta( $post_id, 'my_post_title',$_POST['my_post_title'] );
}
Для вывода заголовка используем следующий код:$post_title = get_post_meta($post->ID,'my_post_title',true);
echo $post_title;
Хорошая статья? Оцените!