WordPress:投稿の公開ボタンを表示する

functions.phpに以下を追加します。

function show_publish_button(){
    global $post;
//管理者アカウントにのみボタンを表示するようにします。
    if (current_user_can('manage_options')){
        echo '<form name="front_end_publish" method="post" action="">
                <input type="hidden" name="pid" id="pid" value="'.$post->id.'">
                <input type="hidden" name="fe_publish" id="fe_publish" value="fe_publish">
                <input type="submit" name="submit" id="submit" value="publish">
            </form>';
    }
}
function change_post_status($post_id,$status){
    $current_post = get_post( $post_id, 'array_a' );
    $current_post['post_status'] = $status;
    wp_update_post($current_post);
}

ボタンを表示したい位置に以下を挿入します。

if (isset($_post['fe_publish']) && $_post['fe_publish'] == 'fe_publish'){
    if (isset($_post['pid']) && !empty($_post['pid'])){
        change_post_status((int)$_post['pid'],'publish');
    }
}

参考:Publish pending article from front end with a button?