Skip to content

Instantly share code, notes, and snippets.

@neilgee
Forked from emilysnothere/add_action.php
Created July 15, 2017 07:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neilgee/3026448cac462e703fced997e98e9051 to your computer and use it in GitHub Desktop.
Save neilgee/3026448cac462e703fced997e98e9051 to your computer and use it in GitHub Desktop.
Adding fields to the WordPress post submit box
add_action('post_submitbox_misc_actions', createCustomField);
add_action('save_post', saveCustomField);
function createCustomField()
{
$post_id = get_the_ID();
if (get_post_type($post_id) != 'post') {
return;
}
$value = get_post_meta($post_id, '_my_custom_field', true);
wp_nonce_field('my_custom_nonce_'.$post_id, 'my_custom_nonce');
?>
<div class="misc-pub-section misc-pub-section-last">
<label><input type="checkbox" value="1" <?php checked($value, true, true); ?> name="_my_custom_field" /><?php _e('My Custom Checkbox Field', 'pmg'); ?></label>
</div>
<?php
}
function saveCustomField($post_id)
{
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (
!isset($_POST['my_custom_nonce']) ||
!wp_verify_nonce($_POST['my_custom_nonce'], 'my_custom_nonce_'.$post_id)
) {
return;
}
if (!current_user_can('edit_post', $post_id)) {
return;
}
if (isset($_POST['_my_custom_field'])) {
update_post_meta($post_id, '_my_custom_field', $_POST['_my_custom_field']);
} else {
delete_post_meta($post_id, '_my_custom_field');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment