Skip to content

Instantly share code, notes, and snippets.

@mrbobbybryant
Created February 2, 2015 21:44
Show Gist options
  • Save mrbobbybryant/f5df7d6e006db3ebe6de to your computer and use it in GitHub Desktop.
Save mrbobbybryant/f5df7d6e006db3ebe6de to your computer and use it in GitHub Desktop.
Metabox Callback Function for How to build Plugin series
<?php
/**
* This is the entire callback function for the metabox. You can copy the whole thing or just the fields.
*/
function dwwp_meta_callback() {
?>
<div>
<div class="meta-row">
<div class="meta-th">
<label for="job-id" class="dwwp-row-title">Job ID</label>
</div>
<div class="meta-td">
<input type="text" name="job-id" id="job-id" value=""/>
</div>
</div>
<div class="meta-row">
<div class="meta-th">
<label for="date_listed" class="dwwp-row-title">Date Listed</label>
</div>
<div class="meta-td">
<input type="text" name="date_listed" id="date_listed" value=""/>
</div>
</div>
<div class="meta-row">
<div class="meta-th">
<label for="application_deadline" class="dwwp-row-title">Application Deadline</label>
</div>
<div class="meta-td">
<input type="text" name="application_deadline" id="application_deadline" value=""/>
</div>
</div>
<div class="meta">
<div class="meta-th">
<span>Principle Duties</span>
</div>
</div>
<div class="meta-editor"></div>
<?php
$content = get_post_meta( $post->ID, 'principle_duties', true );
$editor = 'principle_duties';
$settings = array(
'textarea_rows' => 8,
'media_buttons' => false,
);
wp_editor( $content, $editor, $settings);
?>
</div>
<div class="meta-row">
<div class="meta-th">
<label for="minimum-requirements" class="wpdt-row-title"><?php _e( 'Minimum Requirements', 'hrm-textdomain' )?></label>
</div>
<div class="meta-td">
<textarea name="minimum-requirements" class ="hrm-textarea" id="minimum-requirements"><?php if ( isset ( $hrm_stored_meta['minimum-requirements'] ) ) echo esc_attr( $hrm_stored_meta['minimum-requirements'][0] ); ?></textarea>
</div>
</div>
<div class="meta-row">
<div class="meta-th">
<label for="preferred-requirements" class="wpdt-row-title"><?php _e( 'Preferred Requirements', 'hrm-textdomain' )?></label>
</div>
<div class="meta-td">
<textarea name="preferred-requirements" class ="hrm-textarea" id="preferred-requirements"><?php if ( isset ( $hrm_stored_meta['preferred-requirements'] ) ) echo esc_attr( $hrm_stored_meta['preferred-requirements'][0] ); ?></textarea>
</div>
</div>
<div class="meta-row">
<div class="meta-th">
<label for="relocation-assistance" class="prfx-row-title"><?php _e( 'Relocation Assistance', 'hrm-textdomain' )?></label>
</div>
<div class="meta-td">
<select name="relocation-assistance" id="relocation-assistance">
<option value="select-yes">Yes</option>';
<option value="select-no">No</option>';
</select>
</div>
</div>
<?php
}
@danimaribeiro
Copy link

danimaribeiro commented Apr 22, 2016

Where this $post->ID come from?

Copy link

ghost commented Jun 26, 2016

Line 43 should be something like this.

add_post_meta(get_the_ID(), 'principle_duties', 'Add Principle Duties here', true);
$content = get_post_meta( get_the_ID(), 'principle_duties', true);

Line 43 generates error. [ Undefined variable: post ]

@AjGabriel
Copy link

still gives me an error prasiddha..

@GilLopezMX
Copy link

I was having the same issues at the end I got the follow code working as the video. By the way they are great

<div>
    <div class="meta-row">
        <div class="meta-th">
            <label for="job-id" class="dwwp-row-title">Job ID</label>
        </div>
        <div class="meta-td">
            <input type="text" name="job-id" id="job-id" value=""/>
        </div>
    </div>
    <div class="meta-row">
        <div class="meta-th">
            <label for="date_listed" class="dwwp-row-title">Date Listed</label>
        </div>
        <div class="meta-td">
            <input type="text" name="date_listed" id="date_listed" value=""/>
        </div>
    </div>
    <div class="meta-row">
        <div class="meta-th">
            <label for="application_deadline" class="dwwp-row-title">Application Deadline</label>
        </div>
        <div class="meta-td">
            <input type="text" name="application_deadline" id="application_deadline" value=""/>
        </div>
    </div>
    <div class="meta">
        <div class="meta-th">
            <span>Principle Duties</span>
        </div>
    </div>
    <div class="meta-editor"></div>
    <?php
    $content    = get_post_meta( get_the_ID(), 'principle-duties', true );
    $editor = 'principle_duties';
    $settings = array(
        'textarea_rows' => 8,
        'media_buttons' => false,
    );
    wp_editor( $content, $editor, $settings);
?>
    </div>
    <div class="meta-row">
        <div class="meta-th">
          <label for="minimum-requirements" class="wpdt-row-title"><?php _e( 'Minimum Requirements', 'hrm-textdomain' )?></label>
        </div>
        <div class="meta-td">
          <textarea name="minimum-requirements" class ="hrm-textarea" id="minimum-requirements"><?php if ( isset ( $hrm_stored_meta['minimum-requirements'] ) ) echo esc_attr( $hrm_stored_meta['minimum-requirements'][0] ); ?></textarea>
        </div>
    </div>
    <div class="meta-row">
        <div class="meta-th">
          <label for="preferred-requirements" class="wpdt-row-title"><?php _e( 'Preferred Requirements', 'hrm-textdomain' )?></label>
        </div>
        <div class="meta-td">
          <textarea name="preferred-requirements" class ="hrm-textarea" id="preferred-requirements"><?php if ( isset ( $hrm_stored_meta['preferred-requirements'] ) ) echo esc_attr( $hrm_stored_meta['preferred-requirements'][0] ); ?></textarea>
        </div>
    </div>
    <div class="meta-row">
        <div class="meta-th">
          <label for="relocation-assistance" class="prfx-row-title"><?php _e( 'Relocation Assistance', 'hrm-textdomain' )?></label>
        </div>
        <div class="meta-td">
          <select name="relocation-assistance" id="relocation-assistance">
              <option value="select-yes">Yes</option>';
              <option value="select-no">No</option>';
          </select>
    </div> 
</div>  
<?php

}

@SunilBajracharya
Copy link

Thank you GilLopezMX!

For the get_the_ID() info instead of $post->ID

Thank you!

@ikashifullah
Copy link

$post->ID will only work if you use globally, so line 42 and 43 will read like:

global $post;
$content = get_post_meta( $post->ID, 'principle_duties', true );

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment