src/Extensions/GridFieldBetterButtonsItemRequest.php
public function unPublish()
    {
        $origStage = Versioned::get_stage();
        Versioned::set_stage('Live');

        // This way our ID won't be unset
        $clone = clone $this->owner->record;
        $clone->delete();

        Versioned::set_stage($origStage);

        return $this->owner->edit(Controller::curr()->getRequest());
    }
public function unPublish()
    {
        $origStage = Versioned::get_stage();
        Versioned::set_stage('Live');

        // This way our ID won't be unset
        $clone = clone $this->owner->record;
        $clone->delete();

        Versioned::set_stage($origStage);

        return $this->owner->edit(Controller::curr()->getRequest());
    }
Unpublishes the record

@return HTMLText|ViewableData_Customised