Add block programmatically in the right region
I think you need to set 'status'.
eg.  

function events_block_info () {
    return [
        'events_list' =&gt; [
            'info'       =&gt; "Events list",
            'status'     =&gt; TRUE,
            'region'     =&gt; 'content_post',
            'visibility' =&gt; BLOCK_VISIBILITY_NOTLISTED
        ]
    ];
}