К сожалению, нет способа запустить что-то при «установке» - удивительно, WordPress не предоставляет никаких хуков для установки в отличие от активации!
Способ, которым люди справляются с этим, заключается в установке и тестированииопция - если опция не установлена, то создавать таблицы, а если она установлена, ничего не делать или обновлять БД.Опции считываются и кэшируются, поэтому это не снижает производительность.
$opt = get_option(MYPLUGIN_OPTIONS);
$opt['dbversion'] = 100;
...
update_option(MYPLUGIN_OPTIONS, $opt);