Добавление опций при активации плагина

Вот не могу понять почему этот код не работает. Запускаю его в основном файле плагина, он срабатывает, но и add_option, и update_option возвращают FALSE, т.е. опции не записываются в БД. Подскажите, что я делаю неправильно?

register_activation_hook( __FILE__, 'gtdpl\activate' );

function activate(){
	add_option( GTDPL_NAME, [
		'taxonomynames' => [ 'category' ],
	] );
}
Заметки к вопросу:
Andrew 3.7 лет назад

Вы уверены, что хук срабатывает? Видна ли в функции переменная GTDPL_NAME?

chomovva 3.7 лет назад

Да, уверен, хук срабатывает.
Пробовал для отладки запускать в таком виде:

function activate(){
	echo "<pre>";
	var_dump( add_option( GTDPL_NAME, [
		'taxonomynames' => [ 'category' ],
	] ) );
	echo "</pre>";
	exit;
}

Пробовал так же вместо константы указывать строку, проверял в var_dump константу, вместо массива опций пробовал просто строку добавлять ... результат функции add_option только FALSE. Опция в БД не добавляется.