一键更改帖子状态

时间:2012-05-28 作者:Bubka Gob

我想在“发布”按钮附近添加自定义按钮“发送更正”。此自定义按钮必须将post状态从“待定”更改为我自己创建的名为“更正时”的状态。

现在可以通过5次单击更改状态(编辑状态->下拉单击->选择更正->确定->另存为更正)。

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\');
    }
}

1 个回复
最合适的回答,由SO网友:Chris_O 整理而成

您可以在函数中创建自定义按钮并将其挂接到post_submitbox_misc_actions 这会将其添加到“发布”按钮的正上方。

要更改状态,请使用wp_update_post 在Ajax函数中。尝试一下,如果遇到任何问题,请用代码发回。

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_filter( \'wp_insert_post_data\' , \'my_filter_handler\' , \'99\', 2 );
function my_filter_handler( $data , $postarr )
{
    if ($postarr[\'save\'] == \'Send for correction\')
        $data[\'post_status\'] = \'on-correction\';

    return $data;
}

结束

相关推荐