如果我知道帖子ID,是否可以将WordPress草稿转换为带有直接链接的已发布帖子?

时间:2018-02-22 03:35:51

标签: wordpress wordpress-rest-api

例如,使用如下函数:

http://website.com/wp-admin/post.php?post=%%post_id%%&action=publish

P.S。我查了一下,这不行,但我想知道是否有类似的精神有效?

1 个答案:

答案 0 :(得分:1)

您可以将此代码粘贴到主题functions.php文件中。这样就可以了,现在如果你将动作参数更改为draft并发送了一个获取请求,它将会发布该帖子草稿。

add_action( 'admin_init', 'draft_post_status_221' );
function draft_post_status_221(){

    // Get current page , so this action will only fire in post.php page.
    global $pagenow;

    if ( $pagenow != 'post.php' ){
        return;
    }

    $post_id    = false;
    $action     = false;

    // get post id
    if ( isset($_GET['post']) && !empty($_GET['post']) ){
        $post_id = $_GET['post'];
    }

    // get action
    if ( isset($_GET['action']) && !empty($_GET['action']) ){
        $action = $_GET['action'];

        // for security we only allow draft action
        if ( $action != 'draft' ){
            $action = false;
        }
    }

    // if $post_id and $action has data than post will be updated.
    if ( !empty($post_id) && !empty($action) ){

        $args = array(
            'ID'            =>  $post_id,
            'post_status'   =>  $action
        );

        wp_update_post( $args );
    }

}