I’m using version 2.1.4. In post-expirator.php:
An if-else chain starts at line 472. I altered the last elseif to:
elseif ($expireType == 'category-remove') {
$tag = "registration closed";
wp_set_object_terms( $id, array($tag), 'post_tag', false );
}
What this does: it makes the ‘Remove category’-action remove all tags from the post (wp_set_object_terms) and replaces it with a single tag named ‘registration closed’ (i start with posts that have tag ‘registration’).
In the _postExpiratorExpireType
function i changed the last statement in if ($type != 'page')
to:
$rv[] = '<option value="category-remove" '. ($selected == 'category-remove' ? 'selected="selected"' : '') . '>'.__('Remove tag','post-expirator').'</option>';
Which makes it so that when you select ‘Remove tag’ from the dropdown in the front-end that it will go into the modified elseif above.
I have uploaded the complete file at https://pastebin.com/Cg8kWNtm. In the end, it’s very limited and you can’t use the remove-category action anymore but it’s what did the job for me.
Hopefully it helps you in any way!