Make WordPress Core

Ticket #52133: test-code.php

File test-code.php, 1.3 KB (added by metalandcoffee, 6 years ago)
Line 
1<?php
2add_action( 'add_meta_boxes', 'mcdev_add_meta_to_posts' );
3
4function 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
15function 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
28add_action( 'save_post', 'post_note_meta_box_save' );
29
30function 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}