wrdsb / wordpress-plugin-governance

WordPress plugin to simplify adding and maintaining the Policies & Procedures section of the staff intranet.
1 stars 2 forks source link

Add meta boxes to System Memos #8

Open jschumann opened 7 years ago

jschumann commented 7 years ago
   /* Adds a meta box to the post edit screen */
    add_action( 'add_meta_boxes', 'governance_meta_info' );
    function governance_meta_info( $post ) {
    //    $screens = array( 'post', 'my_cpt' );
    //    foreach ( $screens as $screen ) {
            add_meta_box(
                'governance_meta_details',          // Unique ID
                'Document Details',                         // Box title
                'governance_meta_details',                  // Content callback
                'wrdsb_governance',                 // post type
                'normal',                                                   // UI position (side is alternative)
                'high'                                                              // high, low, default location compared to other meta boxes
            );
    }

    /* All Meta Boxees */

    /* Number */
    function governance_meta_details() {
    global $post;
// Noncename needed to verify where the data originated
echo '<input type="hidden" name="govmeta_noncenumber" id="govmeta_noncenumber" value="' . wp_create_nonce( plugin_basename(__FILE__) ) . '" />';
// Get the data if its already been entered
$number = get_post_meta($post->ID, '_number', true);
    $type = get_post_meta($post->ID, '_type', true);
$effective_date = get_post_meta($post->ID, '_effective_date', true);
$reviewed_date = get_post_meta($post->ID, '_reviewed_date', true);
$revised_date = get_post_meta($post->ID, '_revised_date', true);
$removed_date = get_post_meta($post->ID, '_removed_date', true);
// Echo out the fields
    ?>
            <div style="float: left; width: 50%;">
                    <label for="governance_number">Number</label><br />
                <input type="text" name="_number" id="governance_number" value="<?php echo $number; ?>" class="postbox" />
            <h2>Document Type</h2>
                <input type="radio" name="_type" id="governance_type_policy"> <label for="governance_type_policy">Policy</label><br />
                <input type="radio" name="_type" id="governance_type_procedure"> <label for="governance_type_procedure">Procedure</label><br />
                <input type="radio" name="_type" id="governance_type_form"> <label for="governance_type_form">Form</label><br />
                <input type="radio" name="_type" id="governance_type_guideline"> <label for="governance_type_guideline">Guideline</label><br />
                <input type="radio" name="_type" id="governance_type_protocol"> <label for="governance_type_protocol">Protocol</label>
            </div>
           <div style="float: left; width: 50%;">
                    <h2>Dates</h2>
                    <label for="governance_effective_date">Effective Date</label><br />
                <input type="text" name="_effective_date" id="governance_effective_date" value="<?php echo $effective_date; ?>" class="postbox" /><br />
                    <label for="governance_reviewed_date">Last Reviewed</label><br />
                <input type="text" name="_reviewed_date" id="governance_reviewed_date" value="<?php echo $reviewed_date; ?>" class="postbox" /><br />
                    <label for="governance_revised_date">Last Revised</label><br />
                <input type="text" name="_revised_date" id="governance_revised_date" value="<?php echo $revised_date; ?>" class="postbox" /><br />
                    <label for="governance_removed_date">Date Removed</label><br />
                <input type="text" name="_removed_date" id="governance_removed_date" value="<?php echo $removed_date; ?>" class="postbox" />
            </div>

            <div style="clear: both;"></div>
    <?php
    }

    add_action( 'save_post', 'governance_save_postdata' );
    function governance_save_postdata( $post_id ) {
        if ( array_key_exists('governance_meta', $_POST ) ) {
            update_post_meta( $post_id,
               '_governance_meta_details',
                $_POST['governance_meta']
            );
        }
    }