add_shortcode()
may be overwritten, dependent upon at what point it is hooked, whereas you would have to remove_filter()
to prevent the filter from executing. I think the way to go is to use apply_filters()
, as that functionality is clearly put in place to do exactly what you’re trying to do.