1 | <?php |
---|
2 | add_action( 'add_meta_boxes', 'mcdev_add_meta_to_posts' ); |
---|
3 | |
---|
4 | function mcdev_add_meta_to_posts() { |
---|
5 | // Add new meta box. |
---|
6 | add_meta_box( |
---|
7 | 'mcdev_post_note_box', |
---|
8 | 'Test TinyMCE Note', |
---|
9 | 'mcev_render_meta_posts_content', |
---|
10 | 'post', |
---|
11 | 'normal' |
---|
12 | ); |
---|
13 | } |
---|
14 | |
---|
15 | function mcev_render_meta_posts_content() { |
---|
16 | global $post; |
---|
17 | |
---|
18 | // Get saved meta data. |
---|
19 | $post_note_meta_content = get_post_meta( $post->ID, 'mcdev_post_note', true ); |
---|
20 | |
---|
21 | // Hidden nonce field. |
---|
22 | wp_nonce_field( 'mcdev_post_note' . $post->ID, 'mcdev_post_note_nonce' ); |
---|
23 | |
---|
24 | // Render editor metabox. |
---|
25 | wp_editor( $post_note_meta_content, 'mcdev_post_note', array( 'textarea_rows' => '5' ) ); |
---|
26 | } |
---|
27 | |
---|
28 | add_action( 'save_post', 'post_note_meta_box_save' ); |
---|
29 | |
---|
30 | function post_note_meta_box_save( $post_id ) { |
---|
31 | // Bail if auto save. |
---|
32 | if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { |
---|
33 | return; |
---|
34 | } |
---|
35 | |
---|
36 | // Bail if nonce is missing or nonce verification fails. |
---|
37 | if ( ! isset( $_POST['mcdev_post_note_nonce'] ) || ! wp_verify_nonce( $_POST['mcdev_post_note_nonce'], 'mcdev_post_note' . $post_id ) ) { |
---|
38 | return; |
---|
39 | } |
---|
40 | |
---|
41 | // Bail is current user is allowed to edit posts. |
---|
42 | if ( ! current_user_can( 'edit_post' ) ) { |
---|
43 | return; |
---|
44 | } |
---|
45 | |
---|
46 | // Make sure our data is set before trying to save it. |
---|
47 | if ( isset( $_POST['mcdev_post_note'] ) ) { |
---|
48 | update_post_meta( $post_id, 'mcdev_post_note', $_POST['mcdev_post_note'] ); |
---|
49 | } |
---|
50 | } |
---|