I want to add custom button “Send for correction” somewhere near the “Publish” button. This custom button must change a post status from “Pending” to my own created status named “On correction”.
For a now it is possible to change status with 5 clicks (Edit status -> Dropdown click -> Select On-correction -> Ok -> Save as on correction).
UPDATE:
add_action('post_submitbox_misc_actions', 'send_for_correction_button');
function send_for_correction_button()
{
//global $post;
echo '<div id="send-for-correction" class="misc-pub-section"
style="border-top-style:solid; border-top-width:1px; border-top-color:#EEEEEE; border-bottom-width:0px;">
<input id="save-post2" class="button button-highlighted"
type="submit" value="Send for correction" name="save">
</div>';
}
add_action('save_post', 'save_status');
function save_status($post_id)
{
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
if ($_POST['save'] == 'Send for correction')
{
update_post_meta($post_id, "post_status", 'on-correction');
}
}
You can create your custom button in a function and hook it into
post_submitbox_misc_actions
and this will add it right above the publish button.To change the status use wp_update_post in an Ajax function. Give it a try and post back with your code if you run into any problems.
UPDATE: